haori 0.47.0 → 0.47.3
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 +1 -1
- package/README.md +1 -1
- package/dist/haori.cjs.js +13 -13
- package/dist/haori.es.js +1028 -906
- package/dist/haori.iife.js +12 -12
- package/dist/index.d.ts +96 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -315,6 +315,19 @@ export declare class Core {
|
|
|
315
315
|
* 経路が存在しないことを表す番兵。`undefined` を値として持つ経路と区別します。
|
|
316
316
|
*/
|
|
317
317
|
private static readonly ABSENT_PATH;
|
|
318
|
+
/**
|
|
319
|
+
* 宣言データとして外へ出すデータから予約キーを取り除きます。
|
|
320
|
+
*
|
|
321
|
+
* `_fetch` / `_poll` は内部バインディングデータにのみ持つ実行時の値で、宣言
|
|
322
|
+
* データとしては外へ出しません(仕様「`data-bind`」)。内部データ側は予約キーを
|
|
323
|
+
* 引き継ぐため(`ElementFragment.setBindingData()`)、出口の側で取り除かないと、
|
|
324
|
+
* `data-bind` 属性が数秒ごとの状態遷移で書き換わり続け、`data-{event}-copy` は
|
|
325
|
+
* 別の要素のフェッチ状態をコピー先へ運びます。
|
|
326
|
+
*
|
|
327
|
+
* @param data 外へ出すバインドデータ
|
|
328
|
+
* @returns 予約キーを除いたデータ
|
|
329
|
+
*/
|
|
330
|
+
static withoutReservedBindingKeys(data: Record<string, unknown>): Record<string, unknown>;
|
|
318
331
|
/**
|
|
319
332
|
* 変化した経路ごとに適用可否を判定し、棄却した経路を前の値のまま残したデータを
|
|
320
333
|
* 返します。
|
|
@@ -550,6 +563,49 @@ export declare class Core {
|
|
|
550
563
|
* @return 戻り値はありません。
|
|
551
564
|
*/
|
|
552
565
|
private static logFalsyIfDiagnostics;
|
|
566
|
+
/**
|
|
567
|
+
* `data-each` コンテナの子のうち、行にならない固定要素かどうかを返します。
|
|
568
|
+
*
|
|
569
|
+
* 仕様「`data-each`」の `data-each-before` / `data-each-after`(「ループ前に表示
|
|
570
|
+
* する要素をマーク」「ループ後に表示する要素をマーク」)です。テンプレートの選定
|
|
571
|
+
* (`performEachUpdate`)でも同じ属性で除いています。
|
|
572
|
+
*
|
|
573
|
+
* @param fragment 判定する子フラグメント
|
|
574
|
+
* @returns 行にならない固定要素なら true
|
|
575
|
+
*/
|
|
576
|
+
private static isEachFixedChild;
|
|
577
|
+
/**
|
|
578
|
+
* `data-each` コンテナが固定要素を持つかどうかを返します。
|
|
579
|
+
*
|
|
580
|
+
* 固定要素(`data-each-before` / `data-each-after`)はコンテナのスコープで評価する
|
|
581
|
+
* ため、配列が同値でも一覧の外のデータの更新で描画が変わります。行と行テンプレートは
|
|
582
|
+
* 行スコープで評価するため数えません。
|
|
583
|
+
*
|
|
584
|
+
* コンテナ直下のテキストノードは数えません。式を含むテキストは
|
|
585
|
+
* `hasNonEachDynamicElementState()` がすでに拾っており、ここで重ねても落ちるテストが
|
|
586
|
+
* 無いためです(`docs/ja/testing.md` の規則 3)。
|
|
587
|
+
*
|
|
588
|
+
* @param fragment `data-each` コンテナのフラグメント
|
|
589
|
+
* @returns 固定要素があれば true
|
|
590
|
+
*/
|
|
591
|
+
private static hasEachFixedChildren;
|
|
592
|
+
/**
|
|
593
|
+
* `data-each` コンテナの固定要素とテキストノードを再評価します。
|
|
594
|
+
*
|
|
595
|
+
* 行と行テンプレートは `data-each` が管理するため `evaluateAll` は each コンテナの
|
|
596
|
+
* 子へ降りません。しかし固定要素(`data-each-before` / `data-each-after`)と
|
|
597
|
+
* コンテナ直下のテキストノードは行ではなく、仕様「`data-each`」の「固定要素と
|
|
598
|
+
* コンテナ直下のテキストノードは、行と違いコンテナのスコープで、バインドデータの
|
|
599
|
+
* 更新のたびに再評価します」に従ってコンテナのスコープで再評価します。
|
|
600
|
+
*
|
|
601
|
+
* これが無いと、ガイドが案内している「空のリストの場合のメッセージ」
|
|
602
|
+
* (`data-each-after` に `data-if="items.length === 0"` を書く形)が、配列が
|
|
603
|
+
* 変わっても初期の判定のまま固定されます。
|
|
604
|
+
*
|
|
605
|
+
* @param fragment `data-each` コンテナのフラグメント
|
|
606
|
+
* @returns 再評価完了の Promise
|
|
607
|
+
*/
|
|
608
|
+
private static evaluateEachFixedChildren;
|
|
553
609
|
/**
|
|
554
610
|
* if要素を評価します。
|
|
555
611
|
* 値が falsy(false・null・undefined・NaN・0・空文字列)の場合は非表示にし、
|
|
@@ -1194,6 +1250,19 @@ declare class ElementFragment extends Fragment {
|
|
|
1194
1250
|
* @returns クローンされたフラグメント
|
|
1195
1251
|
*/
|
|
1196
1252
|
clone(): ElementFragment;
|
|
1253
|
+
/**
|
|
1254
|
+
* `data-if` の非表示化が DOM へ書いた追随結果を落とします。
|
|
1255
|
+
*
|
|
1256
|
+
* 仕様「data-if の動作」の「判定の基準は内部状態であり、`style.display` や
|
|
1257
|
+
* `data-if-false` は追随結果として扱う」に従います。内部状態を持たない要素
|
|
1258
|
+
* (フラグメントを作る時点の要素、複製した要素)に追随結果が残っていると、
|
|
1259
|
+
* 内部状態は「表示」なのに DOM は非表示という食い違いになり、`show()` は内部状態を
|
|
1260
|
+
* 基準に何もしないため**表示に戻れません**。
|
|
1261
|
+
*
|
|
1262
|
+
* @param target 対象エレメント
|
|
1263
|
+
* @returns 戻り値はありません。
|
|
1264
|
+
*/
|
|
1265
|
+
private static dropIfVisibilityArtifacts;
|
|
1197
1266
|
/**
|
|
1198
1267
|
* clone 時に runtime の hidden 状態だけを落とします。
|
|
1199
1268
|
*/
|
|
@@ -1259,9 +1328,35 @@ declare class ElementFragment extends Fragment {
|
|
|
1259
1328
|
/**
|
|
1260
1329
|
* バインドデータを設定します。
|
|
1261
1330
|
*
|
|
1331
|
+
* 予約キー(`_` 始まりのエンジン管理変数)は、新しいデータが同じキーを持たない
|
|
1332
|
+
* 限り引き継ぎます(仕様「`data-bind`」)。予約キーは `data-bind` 属性へ書き出さ
|
|
1333
|
+
* ないため、宣言を取り込む側も外部から属性を書き換える側もこの値を運べません。
|
|
1334
|
+
* 引き継がないと、`data-if` が真になったときの子の初期化や外部からの書き換えの
|
|
1335
|
+
* たびに `_fetch` / `_poll` が消え、注入した状態が「まだ何も起きていない」状態と
|
|
1336
|
+
* 区別できなくなります。明示的に落とす場合はキー自体を持たせてください
|
|
1337
|
+
* (`{_fetch: undefined}`)。
|
|
1338
|
+
*
|
|
1262
1339
|
* @param data バインドデータ
|
|
1263
1340
|
*/
|
|
1264
1341
|
setBindingData(data: Record<string, unknown>): void;
|
|
1342
|
+
/**
|
|
1343
|
+
* 新しいバインドデータへ、現在の予約キーのうち引き継ぐものを足します。
|
|
1344
|
+
*
|
|
1345
|
+
* @param data 新しいバインドデータ
|
|
1346
|
+
* @returns 予約キーを引き継いだバインドデータ
|
|
1347
|
+
*/
|
|
1348
|
+
private withRetainedReservedKeys;
|
|
1349
|
+
/**
|
|
1350
|
+
* 予約キー(エンジン管理変数)かどうかを判定します。
|
|
1351
|
+
*
|
|
1352
|
+
* `_fetch` / `_poll` など、Haori が実行時に注入し、`data-bind` 属性へ書き出さない
|
|
1353
|
+
* 値が対象です(仕様「`data-bind`」)。`data-bind` 属性へのミラー
|
|
1354
|
+
* (`Core.setBindingData()`)も同じ判定で対象から外します。
|
|
1355
|
+
*
|
|
1356
|
+
* @param key 判定対象のキー
|
|
1357
|
+
* @returns 予約キーなら true
|
|
1358
|
+
*/
|
|
1359
|
+
static isReservedBindingKey(key: string): boolean;
|
|
1265
1360
|
/**
|
|
1266
1361
|
* バインドデータ更新に伴う DOM 反映・再評価を、同一フラグメントでは呼出順
|
|
1267
1362
|
* (FIFO)で直列実行します。並行呼出による適用順の逆転(古いデータが後から
|
|
@@ -4308,7 +4403,7 @@ declare interface ValueChangeOrigin {
|
|
|
4308
4403
|
* リリース時に `package.json` と揃えて更新します(`tests/version.test.ts` が
|
|
4309
4404
|
* 一致を検査します)。
|
|
4310
4405
|
*/
|
|
4311
|
-
export declare const version = "0.47.
|
|
4406
|
+
export declare const version = "0.47.3";
|
|
4312
4407
|
|
|
4313
4408
|
/**
|
|
4314
4409
|
* すべてのレンダリングタスク(追従投入分を含む)の完了を待ちます。
|