@wcstack/state 2.4.0 → 2.5.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/README.ja.md +90 -37
- package/README.md +89 -36
- package/dist/auto.min.js +1 -1
- package/dist/auto.min.js.map +1 -1
- package/dist/index.d.ts +42 -0
- package/dist/index.esm.js +3286 -2583
- package/dist/index.esm.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -1374,8 +1374,19 @@ declare class State extends HTMLElementBase implements IStateElement {
|
|
|
1374
1374
|
*
|
|
1375
1375
|
* `source === "internal"`(再帰の生成アクセサ・ボリュームのツリーアクセサ)は載せない。
|
|
1376
1376
|
* あれらは生やした機構が新しい世代で登録し直す(recursion/registry.ts の `_define`)。
|
|
1377
|
+
*
|
|
1378
|
+
* `bound` はバインドがいちどでも登録したか(#270)。作り直しで存在検査をやり直すのはバインドの
|
|
1379
|
+
* パスだけ — `$watch` / `$scan` の登録は前の世代の宣言の残骸でもあり、今の世代の宣言は
|
|
1380
|
+
* 作り直しの後で自分の検査をする(`processWatchDeclaration` / `registerScans`)。残骸まで
|
|
1381
|
+
* 検査すると、新しい宣言から外したパスを「存在しない」と誤って報告する。
|
|
1377
1382
|
*/
|
|
1378
1383
|
private _pathRegistrations;
|
|
1384
|
+
/**
|
|
1385
|
+
* 切断中の再セットで適用し直せなかったトップレベルのパス(#267)。再適用には rootNode が要るので、
|
|
1386
|
+
* 再接続で `reapplyStateBindings` に渡す。切断中に何度入れ直しても和集合で持つ
|
|
1387
|
+
* (前の世代にしか無いキーのバインドも失敗として報告させるため)。
|
|
1388
|
+
*/
|
|
1389
|
+
private _pendingReapplyPaths;
|
|
1379
1390
|
/**
|
|
1380
1391
|
* これまでのどの世代かで再帰レジストリが実体化した具体パス(`nodes.*.total` 等)の累積。
|
|
1381
1392
|
* 再セットのたびに `forgetGenerated` の戻り値を足し、`_rebuildPathInfo` の除外に使う。
|
|
@@ -1398,6 +1409,22 @@ declare class State extends HTMLElementBase implements IStateElement {
|
|
|
1398
1409
|
private _volumeGraftInfo;
|
|
1399
1410
|
/** ボリューム: スロット予約済み・接ぎ木進行中(ロード完了前の再接続の再入ガード) */
|
|
1400
1411
|
private _volumeInitializing;
|
|
1412
|
+
/**
|
|
1413
|
+
* ボリューム: 予約したマウントパス(#265)。枠を返した後に取り直すときもこれを使う —
|
|
1414
|
+
* `mount` 属性は書き換えられるので読み直さない。
|
|
1415
|
+
*/
|
|
1416
|
+
private _volumeMountPath;
|
|
1417
|
+
/**
|
|
1418
|
+
* ボリューム: いま枠を握っている rootNode(#265)。null は「握っていない」。解放はこの控えと
|
|
1419
|
+
* `_volumeMountPath` の組でだけ行う。切断時の `_rootNode`(先に null になる)から読み直すと、
|
|
1420
|
+
* 予約した組と一致する保証が無く、別の要素の枠を消しうる。
|
|
1421
|
+
*/
|
|
1422
|
+
private _volumeSlotRootNode;
|
|
1423
|
+
/**
|
|
1424
|
+
* ボリューム: ロード中に外れたときに枠を返した rootNode(#265)。同じ rootNode へ付け直した(並べ替えた)
|
|
1425
|
+
* ときだけ connectedCallback がその場で枠を取り直すための控え。付け直すたびに null へ戻す。
|
|
1426
|
+
*/
|
|
1427
|
+
private _volumeDetachedFrom;
|
|
1401
1428
|
/** v2 マウント(Phase 2): この bind-component 要素が構築したマウント記録 */
|
|
1402
1429
|
private _mountRecord;
|
|
1403
1430
|
private _bindableEventMap;
|
|
@@ -1485,6 +1512,14 @@ declare class State extends HTMLElementBase implements IStateElement {
|
|
|
1485
1512
|
private _initializeDCC;
|
|
1486
1513
|
private _callStateDisconnectedCallback;
|
|
1487
1514
|
connectedCallback(): Promise<void>;
|
|
1515
|
+
/** 控えている枠を返す(#265)。所有者の確認は `releaseVolumeSlot` が行う。 */
|
|
1516
|
+
private _releaseVolumeSlot;
|
|
1517
|
+
/**
|
|
1518
|
+
* 接ぎ木の直前に、`rootNode` のマウントの枠を取る(#265)。握っていれば真。ロード中・保留中に外れて
|
|
1519
|
+
* 返していれば取り直して真。外れている間に別の要素が同じマウントパスを取っていれば、横取りせずに
|
|
1520
|
+
* 報告して偽 — 黙らせると、作者に見えるのは「データが現れない」だけになる。
|
|
1521
|
+
*/
|
|
1522
|
+
private _acquireVolumeSlot;
|
|
1488
1523
|
disconnectedCallback(): void;
|
|
1489
1524
|
get initialized(): boolean;
|
|
1490
1525
|
get initializePromise(): Promise<void>;
|
|
@@ -1575,6 +1610,11 @@ declare class State extends HTMLElementBase implements IStateElement {
|
|
|
1575
1610
|
* 名指していても、新しい世代ではまだ実体化されていないため(recursion/generation.ts)。読みが
|
|
1576
1611
|
* 実体化したときに `defineTreeAccessor` が登録し直す。
|
|
1577
1612
|
*
|
|
1613
|
+
* 作り直すのはバインドが登録したパスだけ(`_pathRegistrations` の `bound`・#270)。`$watch` /
|
|
1614
|
+
* `$scan` だけの登録は飛ばす — 作り直しの後で今の世代の宣言が自分で登録し直し、そこで存在も
|
|
1615
|
+
* 検査される。ここで `_pathSet` に入れてしまうと、宣言側の `setPathInfo` が `_pathSet.has` で
|
|
1616
|
+
* 素通りし、両方の世代で宣言し続けたパスが新しい state で消えても報告されない。
|
|
1617
|
+
*
|
|
1578
1618
|
* 反復中に `setPathInfo` が台帳へ書き戻す(既存キーの上書きのみで新キーは増えない)ので、
|
|
1579
1619
|
* 誤解を避けるためスナップショットを取ってから回す。
|
|
1580
1620
|
*/
|
|
@@ -1590,6 +1630,8 @@ declare class State extends HTMLElementBase implements IStateElement {
|
|
|
1590
1630
|
get indexDependentGetterPaths(): ReadonlySet<string>;
|
|
1591
1631
|
addIndexDependentGetterPath(path: string): void;
|
|
1592
1632
|
setInitialState(state: Record<string, any>): void;
|
|
1633
|
+
/** 確立済みのバインドを今の世代で適用し直す(#267)。行のバインドは経路情報の台帳のパスから引く。 */
|
|
1634
|
+
private _reapplyBindings;
|
|
1593
1635
|
}
|
|
1594
1636
|
|
|
1595
1637
|
declare global {
|