@wcstack/devtools 3.1.0 → 3.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -92,6 +92,12 @@ interface IMountOverlaySummaryLike {
92
92
  readonly delta: number;
93
93
  /** 私有キー(オーバーレイ空間に住む own data key) */
94
94
  readonly privateKeys: readonly string[];
95
+ /**
96
+ * 公開 getter の公開パス(親スコープから読める — docs/state-overlay-export-design.md)。
97
+ * オーバーレイ export より前の v2 ランタイムにはフィールド自体が無いため optional
98
+ * (protocol §3 の `summary.exports ?? []`)。
99
+ */
100
+ readonly exports?: readonly string[];
95
101
  /** マーカーパスに載る getter のキー */
96
102
  readonly getterKeys: readonly string[];
97
103
  }
@@ -113,6 +119,18 @@ interface IKeyedSubscriptionSummaryLike {
113
119
  /** path の最後に見た値(見ていなければ undefined)。生値 */
114
120
  readonly lastValue: unknown;
115
121
  }
122
+ /**
123
+ * 宣言されたフィルタ 1 件(ランタイム `IFilterInfo` の構造的サブセット)。
124
+ * `literals`(引数の型付きの値・要件 B9)は原文 `args` と別物で、フィルタの鍵
125
+ * (`filterKey.ts` の `filter.literals ?? filter.args`)と `eq` / `ne` / `defaults` の
126
+ * 比較が読む。宣言が無いと、独自 source を TS で書く採用者が `{ filterName, args }`
127
+ * だけのオブジェクトを渡し、型は通るのに鍵が縮退する(`"1"` と `1` が同じ鍵になる)。
128
+ */
129
+ interface IDeclaredFilterLike {
130
+ readonly filterName: string;
131
+ readonly args: readonly string[];
132
+ readonly literals?: readonly unknown[];
133
+ }
116
134
  /**
117
135
  * 宣言レベルのバインディング 1 件(getDeclaredBindings の要素・protocol v1 追補)。
118
136
  * ランタイム正本パーサの結果が構造的に流れる。宣言タプルで dedupe 済みの
@@ -124,14 +142,8 @@ interface IDeclaredBindingLike {
124
142
  readonly propName: string;
125
143
  readonly statePathName: string;
126
144
  readonly bindingType: string;
127
- readonly inFilters: readonly {
128
- readonly filterName: string;
129
- readonly args: readonly string[];
130
- }[];
131
- readonly outFilters: readonly {
132
- readonly filterName: string;
133
- readonly args: readonly string[];
134
- }[];
145
+ readonly inFilters: readonly IDeclaredFilterLike[];
146
+ readonly outFilters: readonly IDeclaredFilterLike[];
135
147
  readonly origin: "attribute" | "comment" | "fragment";
136
148
  readonly raw: string;
137
149
  }
@@ -630,4 +642,4 @@ declare global {
630
642
  }
631
643
 
632
644
  export { DEVTOOLS_HOOK_GLOBAL, DEVTOOLS_PROTOCOL_VERSION, DevtoolsCore, WcsDevtools, bootstrapDevtools, formatArgs, formatValue, getOrCreateHookRegistry, scanDeclaredBindings };
633
- export type { CoreChangeKind, CoreChangeListener, DevtoolsEventLike, DevtoolsSinkLike, IAbsoluteAddressLike, IAbsolutePathInfoLike, IBindingLike, IDeclaredBinding, IDevtoolsCoreOptions, IDevtoolsHookRegistryLike, IDevtoolsListenerLike, IDevtoolsSourceLike, IListIndexLike, IPathInfoLike, IRosterEntry, IStateElementSummaryLike, ITimelineEntry, IWiringEntry, TimelineKind };
645
+ export type { CoreChangeKind, CoreChangeListener, DevtoolsEventLike, DevtoolsSinkLike, IAbsoluteAddressLike, IAbsolutePathInfoLike, IBindingLike, IDeclaredBinding, IDeclaredBindingLike, IDeclaredFilterLike, IDevtoolsCoreOptions, IDevtoolsHookRegistryLike, IDevtoolsListenerLike, IDevtoolsSourceLike, IKeyedSubscriptionSummaryLike, IListIndexLike, IMountOverlaySummaryLike, IPathInfoLike, IRosterEntry, IStateElementSummaryLike, ITimelineEntry, IWiringEntry, TimelineKind };
package/dist/index.esm.js CHANGED
@@ -1638,6 +1638,12 @@ class WcsDevtools extends HTMLElement {
1638
1638
  if (overlay.privateKeys.length > 0) {
1639
1639
  details.push(`private: ${overlay.privateKeys.join(", ")}`);
1640
1640
  }
1641
+ // 公開 getter の公開パス。オーバーレイ export より前の v2 ランタイムは
1642
+ // フィールドを持たないので `?? []` で受ける(protocol §3)
1643
+ const exports = overlay.exports ?? [];
1644
+ if (exports.length > 0) {
1645
+ details.push(`exports: ${exports.join(", ")}`);
1646
+ }
1641
1647
  if (overlay.getterKeys.length > 0) {
1642
1648
  details.push(`getters: ${overlay.getterKeys.join(", ")}`);
1643
1649
  }