haori 0.1.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/LICENSE +21 -0
- package/README.ja.md +157 -0
- package/README.md +158 -0
- package/dist/haori.cjs.js +13 -0
- package/dist/haori.cjs.js.map +1 -0
- package/dist/haori.es.js +2929 -0
- package/dist/haori.es.js.map +1 -0
- package/dist/haori.iife.js +13 -0
- package/dist/haori.iife.js.map +1 -0
- package/dist/index.d.ts +824 -0
- package/dist/src/core.d.ts +144 -0
- package/dist/src/core.d.ts.map +1 -0
- package/dist/src/core.js +605 -0
- package/dist/src/core.js.map +1 -0
- package/dist/src/dev.d.ts +35 -0
- package/dist/src/dev.d.ts.map +1 -0
- package/dist/src/dev.js +44 -0
- package/dist/src/dev.js.map +1 -0
- package/dist/src/env.d.ts +25 -0
- package/dist/src/env.d.ts.map +1 -0
- package/dist/src/env.js +64 -0
- package/dist/src/env.js.map +1 -0
- package/dist/src/event.d.ts +144 -0
- package/dist/src/event.d.ts.map +1 -0
- package/dist/src/event.js +221 -0
- package/dist/src/event.js.map +1 -0
- package/dist/src/event_dispatcher.d.ts +50 -0
- package/dist/src/event_dispatcher.d.ts.map +1 -0
- package/dist/src/event_dispatcher.js +99 -0
- package/dist/src/event_dispatcher.js.map +1 -0
- package/dist/src/expression.d.ts +39 -0
- package/dist/src/expression.d.ts.map +1 -0
- package/dist/src/expression.js +148 -0
- package/dist/src/expression.js.map +1 -0
- package/dist/src/form.d.ts +113 -0
- package/dist/src/form.d.ts.map +1 -0
- package/dist/src/form.js +361 -0
- package/dist/src/form.js.map +1 -0
- package/dist/src/fragment.d.ts +427 -0
- package/dist/src/fragment.d.ts.map +1 -0
- package/dist/src/fragment.js +1168 -0
- package/dist/src/fragment.js.map +1 -0
- package/dist/src/haori.d.ts +54 -0
- package/dist/src/haori.d.ts.map +1 -0
- package/dist/src/haori.js +120 -0
- package/dist/src/haori.js.map +1 -0
- package/dist/src/import.d.ts +19 -0
- package/dist/src/import.d.ts.map +1 -0
- package/dist/src/import.js +64 -0
- package/dist/src/import.js.map +1 -0
- package/dist/src/index.d.ts +17 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +21 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/log.d.ts +32 -0
- package/dist/src/log.d.ts.map +1 -0
- package/dist/src/log.js +43 -0
- package/dist/src/log.js.map +1 -0
- package/dist/src/observer.d.ts +17 -0
- package/dist/src/observer.d.ts.map +1 -0
- package/dist/src/observer.js +102 -0
- package/dist/src/observer.js.map +1 -0
- package/dist/src/procedure.d.ts +203 -0
- package/dist/src/procedure.d.ts.map +1 -0
- package/dist/src/procedure.js +1040 -0
- package/dist/src/procedure.js.map +1 -0
- package/dist/src/queue.d.ts +28 -0
- package/dist/src/queue.d.ts.map +1 -0
- package/dist/src/queue.js +150 -0
- package/dist/src/queue.js.map +1 -0
- package/dist/src/url.d.ts +14 -0
- package/dist/src/url.d.ts.map +1 -0
- package/dist/src/url.js +22 -0
- package/dist/src/url.js.map +1 -0
- package/dist/tests/click-attributes.test.d.ts +2 -0
- package/dist/tests/click-attributes.test.d.ts.map +1 -0
- package/dist/tests/click-attributes.test.js +95 -0
- package/dist/tests/click-attributes.test.js.map +1 -0
- package/dist/tests/core.test.d.ts +5 -0
- package/dist/tests/core.test.d.ts.map +1 -0
- package/dist/tests/core.test.js +158 -0
- package/dist/tests/core.test.js.map +1 -0
- package/dist/tests/data-each-browserlike.test.d.ts +2 -0
- package/dist/tests/data-each-browserlike.test.d.ts.map +1 -0
- package/dist/tests/data-each-browserlike.test.js +48 -0
- package/dist/tests/data-each-browserlike.test.js.map +1 -0
- package/dist/tests/data-each-fragment-debug.test.d.ts +2 -0
- package/dist/tests/data-each-fragment-debug.test.d.ts.map +1 -0
- package/dist/tests/data-each-fragment-debug.test.js +119 -0
- package/dist/tests/data-each-fragment-debug.test.js.map +1 -0
- package/dist/tests/data-each-table.test.d.ts +2 -0
- package/dist/tests/data-each-table.test.d.ts.map +1 -0
- package/dist/tests/data-each-table.test.js +63 -0
- package/dist/tests/data-each-table.test.js.map +1 -0
- package/dist/tests/dev.test.d.ts +2 -0
- package/dist/tests/dev.test.d.ts.map +1 -0
- package/dist/tests/dev.test.js +51 -0
- package/dist/tests/dev.test.js.map +1 -0
- package/dist/tests/each_arg.test.d.ts +2 -0
- package/dist/tests/each_arg.test.d.ts.map +1 -0
- package/dist/tests/each_arg.test.js +41 -0
- package/dist/tests/each_arg.test.js.map +1 -0
- package/dist/tests/env.test.d.ts +2 -0
- package/dist/tests/env.test.d.ts.map +1 -0
- package/dist/tests/env.test.js +96 -0
- package/dist/tests/env.test.js.map +1 -0
- package/dist/tests/event.test.d.ts +2 -0
- package/dist/tests/event.test.d.ts.map +1 -0
- package/dist/tests/event.test.js +287 -0
- package/dist/tests/event.test.js.map +1 -0
- package/dist/tests/expression.test.d.ts +2 -0
- package/dist/tests/expression.test.d.ts.map +1 -0
- package/dist/tests/expression.test.js +281 -0
- package/dist/tests/expression.test.js.map +1 -0
- package/dist/tests/fetch-and-procedure-scenarios.test.d.ts +2 -0
- package/dist/tests/fetch-and-procedure-scenarios.test.d.ts.map +1 -0
- package/dist/tests/fetch-and-procedure-scenarios.test.js +133 -0
- package/dist/tests/fetch-and-procedure-scenarios.test.js.map +1 -0
- package/dist/tests/form.test.d.ts +2 -0
- package/dist/tests/form.test.d.ts.map +1 -0
- package/dist/tests/form.test.js +607 -0
- package/dist/tests/form.test.js.map +1 -0
- package/dist/tests/fragment.test.d.ts +2 -0
- package/dist/tests/fragment.test.d.ts.map +1 -0
- package/dist/tests/fragment.test.js +164 -0
- package/dist/tests/fragment.test.js.map +1 -0
- package/dist/tests/import.test.d.ts +2 -0
- package/dist/tests/import.test.d.ts.map +1 -0
- package/dist/tests/import.test.js +148 -0
- package/dist/tests/import.test.js.map +1 -0
- package/dist/tests/log.test.d.ts +2 -0
- package/dist/tests/log.test.d.ts.map +1 -0
- package/dist/tests/log.test.js +58 -0
- package/dist/tests/log.test.js.map +1 -0
- package/dist/tests/procedure-action-operations.test.d.ts +2 -0
- package/dist/tests/procedure-action-operations.test.d.ts.map +1 -0
- package/dist/tests/procedure-action-operations.test.js +148 -0
- package/dist/tests/procedure-action-operations.test.js.map +1 -0
- package/dist/tests/procedure-fetch-options.test.d.ts +2 -0
- package/dist/tests/procedure-fetch-options.test.d.ts.map +1 -0
- package/dist/tests/procedure-fetch-options.test.js +131 -0
- package/dist/tests/procedure-fetch-options.test.js.map +1 -0
- package/dist/tests/procedure.test.d.ts +2 -0
- package/dist/tests/procedure.test.d.ts.map +1 -0
- package/dist/tests/procedure.test.js +136 -0
- package/dist/tests/procedure.test.js.map +1 -0
- package/dist/tests/procedure_events.test.d.ts +7 -0
- package/dist/tests/procedure_events.test.d.ts.map +1 -0
- package/dist/tests/procedure_events.test.js +96 -0
- package/dist/tests/procedure_events.test.js.map +1 -0
- package/dist/tests/reset_each.test.d.ts +2 -0
- package/dist/tests/reset_each.test.d.ts.map +1 -0
- package/dist/tests/reset_each.test.js +215 -0
- package/dist/tests/reset_each.test.js.map +1 -0
- package/dist/tests/row-move.test.d.ts +2 -0
- package/dist/tests/row-move.test.d.ts.map +1 -0
- package/dist/tests/row-move.test.js +197 -0
- package/dist/tests/row-move.test.js.map +1 -0
- package/dist/tests/row-operations.test.d.ts +2 -0
- package/dist/tests/row-operations.test.d.ts.map +1 -0
- package/dist/tests/row-operations.test.js +238 -0
- package/dist/tests/row-operations.test.js.map +1 -0
- package/dist/tests/url.test.d.ts +2 -0
- package/dist/tests/url.test.d.ts.map +1 -0
- package/dist/tests/url.test.js +150 -0
- package/dist/tests/url.test.js.map +1 -0
- package/dist/vite.config.d.ts +3 -0
- package/dist/vite.config.d.ts.map +1 -0
- package/dist/vite.config.js +28 -0
- package/dist/vite.config.js.map +1 -0
- package/dist/vitest.config.d.ts +3 -0
- package/dist/vitest.config.d.ts.map +1 -0
- package/dist/vitest.config.js +19 -0
- package/dist/vitest.config.js.map +1 -0
- package/package.json +68 -0
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,824 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* コメントフラグメント。
|
|
3
|
+
* コメントノードを表現します。
|
|
4
|
+
*/
|
|
5
|
+
declare class CommentFragment extends Fragment {
|
|
6
|
+
/** コメント文字列 */
|
|
7
|
+
private text;
|
|
8
|
+
/** 更新スキップフラグ(オブザーバーによる無限ループ対応) */
|
|
9
|
+
private skipMutation;
|
|
10
|
+
/**
|
|
11
|
+
* コメントフラグメントのコンストラクタ。
|
|
12
|
+
* 対象コメントノードの内容を初期化します。
|
|
13
|
+
*
|
|
14
|
+
* @param target 対象コメントノード
|
|
15
|
+
*/
|
|
16
|
+
constructor(target: Comment);
|
|
17
|
+
/**
|
|
18
|
+
* フラグメントをクローンします。
|
|
19
|
+
*
|
|
20
|
+
* @returns クローンされたフラグメント
|
|
21
|
+
*/
|
|
22
|
+
clone(): Fragment;
|
|
23
|
+
/**
|
|
24
|
+
* フラグメントの対象ノードを取得します。
|
|
25
|
+
*
|
|
26
|
+
* @returns フラグメントの対象ノード
|
|
27
|
+
*/
|
|
28
|
+
getTarget(): Comment;
|
|
29
|
+
/**
|
|
30
|
+
* コンテンツを更新します。
|
|
31
|
+
*
|
|
32
|
+
* @param text テキスト
|
|
33
|
+
* @return 更新のPromise
|
|
34
|
+
*/
|
|
35
|
+
setContent(text: string): Promise<void>;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* アプリケーションの中心的な制御を行うクラスです。
|
|
40
|
+
* Fragment の初期化、属性変化の処理、条件分岐・繰り返し処理を管理します。
|
|
41
|
+
*/
|
|
42
|
+
export declare class Core {
|
|
43
|
+
/** 優先処理する属性のサフィックス(処理順序で定義) */
|
|
44
|
+
private static readonly PRIORITY_ATTRIBUTE_SUFFIXES;
|
|
45
|
+
/** 遅延処理する属性のサフィックス */
|
|
46
|
+
private static readonly DEFERRED_ATTRIBUTE_SUFFIXES;
|
|
47
|
+
/**
|
|
48
|
+
* 遅延属性かどうか(完全名で判定)を判定します。
|
|
49
|
+
*
|
|
50
|
+
* @param name 属性名
|
|
51
|
+
* @returns 遅延属性かどうか
|
|
52
|
+
*/
|
|
53
|
+
private static isDeferredAttributeName;
|
|
54
|
+
/**
|
|
55
|
+
* 指定された要素と、その子要素をスキャンし、Fragmentを生成します。
|
|
56
|
+
*
|
|
57
|
+
* @param element スキャン対象の要素
|
|
58
|
+
* @returns Promise (スキャンが完了したときに解決される)
|
|
59
|
+
*/
|
|
60
|
+
static scan(element: HTMLElement): Promise<void>;
|
|
61
|
+
/**
|
|
62
|
+
* エレメントに属性を設定します。
|
|
63
|
+
* 属性固有の処理も行います。
|
|
64
|
+
*
|
|
65
|
+
* @param element エレメント
|
|
66
|
+
* @param name 属性名
|
|
67
|
+
* @param value 属性値
|
|
68
|
+
* @returns Promise (DOM操作が完了したときに解決される)
|
|
69
|
+
*/
|
|
70
|
+
static setAttribute(element: HTMLElement, name: string, value: string | null): Promise<void>;
|
|
71
|
+
/**
|
|
72
|
+
* エレメントに属性を設定し、評価を行います。
|
|
73
|
+
*
|
|
74
|
+
* @param element エレメント
|
|
75
|
+
* @param name 属性名
|
|
76
|
+
* @param value 属性値
|
|
77
|
+
* @returns Promise (DOM操作が完了したときに解決される)
|
|
78
|
+
*/
|
|
79
|
+
static setBindingData(element: HTMLElement, data: Record<string, unknown>): Promise<void>;
|
|
80
|
+
/**
|
|
81
|
+
* data-bind 属性の値をパースします。
|
|
82
|
+
*
|
|
83
|
+
* @param data data-bind 属性の値
|
|
84
|
+
* @returns パースされたデータオブジェクト
|
|
85
|
+
*/
|
|
86
|
+
static parseDataBind(data: string): Record<string, unknown>;
|
|
87
|
+
/**
|
|
88
|
+
* ノードを親要素に追加し評価を行います。
|
|
89
|
+
*
|
|
90
|
+
* @param parentElement 親エレメント
|
|
91
|
+
* @param node 追加するノード
|
|
92
|
+
*/
|
|
93
|
+
static addNode(parentElement: HTMLElement, node: Node): void;
|
|
94
|
+
/**
|
|
95
|
+
* ノードを親要素から削除します。
|
|
96
|
+
*
|
|
97
|
+
* @param node 削除するノード
|
|
98
|
+
*/
|
|
99
|
+
static removeNode(node: Node): void;
|
|
100
|
+
/**
|
|
101
|
+
* ノードのテキストを変更します。
|
|
102
|
+
*
|
|
103
|
+
* @param node 変更するノード
|
|
104
|
+
* @param text 新しいテキスト
|
|
105
|
+
*/
|
|
106
|
+
static changeText(node: Text | Comment, text: string): void;
|
|
107
|
+
/**
|
|
108
|
+
* エレメントの値を変更します。
|
|
109
|
+
* フォームの双方向バインディングを考慮し、フォームのバインドデータも更新します。
|
|
110
|
+
*
|
|
111
|
+
* @param element 変更するエレメント
|
|
112
|
+
* @param value 新しい値
|
|
113
|
+
* @returns Promise (DOM操作が完了したときに解決される)
|
|
114
|
+
*/
|
|
115
|
+
static changeValue(element: HTMLElement, value: string): Promise<void>;
|
|
116
|
+
/**
|
|
117
|
+
* フォームフラグメントを取得します。
|
|
118
|
+
*
|
|
119
|
+
* @param fragment フラグメント
|
|
120
|
+
* @returns フォームフラグメントまたはnull
|
|
121
|
+
*/
|
|
122
|
+
private static getFormFragment;
|
|
123
|
+
/**
|
|
124
|
+
* フラグメントとその子要素を評価します。
|
|
125
|
+
*
|
|
126
|
+
* @param fragment 対象フラグメント
|
|
127
|
+
* @return Promise (DOM操作が完了したときに解決される)
|
|
128
|
+
*/
|
|
129
|
+
static evaluateAll(fragment: ElementFragment): Promise<void>;
|
|
130
|
+
/**
|
|
131
|
+
* テキストフラグメントを評価します。
|
|
132
|
+
*
|
|
133
|
+
* @param fragment 対象フラグメント
|
|
134
|
+
* @returns Promise (DOM操作が完了したときに解決される)
|
|
135
|
+
*/
|
|
136
|
+
static evaluateText(fragment: TextFragment): Promise<void>;
|
|
137
|
+
/**
|
|
138
|
+
* if要素を評価します。
|
|
139
|
+
* 値がfalse、null、undefined、NaNの場合は非表示にし、それ以外の場合は表示します。
|
|
140
|
+
*
|
|
141
|
+
* @param fragment 対象フラグメント
|
|
142
|
+
* @return Promise (DOM操作が完了したときに解決される)
|
|
143
|
+
*/
|
|
144
|
+
static evaluateIf(fragment: ElementFragment): Promise<void>;
|
|
145
|
+
/**
|
|
146
|
+
* each要素を評価します。
|
|
147
|
+
* 非表示または未マウントの場合は処理をスキップします。
|
|
148
|
+
*
|
|
149
|
+
* @param fragment 対象フラグメント
|
|
150
|
+
*/
|
|
151
|
+
static evaluateEach(fragment: ElementFragment): Promise<void>;
|
|
152
|
+
/**
|
|
153
|
+
* 差分を更新します。
|
|
154
|
+
*
|
|
155
|
+
* @param parent 親フラグメント
|
|
156
|
+
* @param newList 新しいリスト
|
|
157
|
+
*/
|
|
158
|
+
private static updateDiff;
|
|
159
|
+
/**
|
|
160
|
+
* リスト比較用のキーを生成します。
|
|
161
|
+
*
|
|
162
|
+
* @param item 対象オブジェクト
|
|
163
|
+
* @param keyArg リストキーに使用するプロパティ名
|
|
164
|
+
* @param index 配列のインデックス
|
|
165
|
+
* @returns リストキー
|
|
166
|
+
*/
|
|
167
|
+
private static createListKey;
|
|
168
|
+
/**
|
|
169
|
+
* 行フラグメントにデータを設定します。
|
|
170
|
+
*
|
|
171
|
+
* @param rowFragment 行フラグメント
|
|
172
|
+
* @param data 行データ
|
|
173
|
+
* @param indexKey インデックスキー
|
|
174
|
+
* @param index インデックス番号
|
|
175
|
+
* @param arg バインドデータパラメータ名
|
|
176
|
+
* @param listKey リストキー
|
|
177
|
+
*/
|
|
178
|
+
private static updateRowFragment;
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
/**
|
|
182
|
+
* エレメントフラグメント。
|
|
183
|
+
* DOM要素を表現し、子ノードを持つことができます。
|
|
184
|
+
*/
|
|
185
|
+
declare class ElementFragment extends Fragment {
|
|
186
|
+
/** inputイベントを発生させるタイプ */
|
|
187
|
+
private readonly INPUT_EVENT_TYPES;
|
|
188
|
+
/** 子フラグメントのリスト */
|
|
189
|
+
private readonly children;
|
|
190
|
+
/** 属性名に対する属性情報のマップ */
|
|
191
|
+
private readonly attributeMap;
|
|
192
|
+
/** バインドデータ */
|
|
193
|
+
private bindingData;
|
|
194
|
+
/** バインドデータのキャッシュ */
|
|
195
|
+
private bindingDataCache;
|
|
196
|
+
/** 表示状態 */
|
|
197
|
+
private visible;
|
|
198
|
+
/** 元の display 値 */
|
|
199
|
+
private display;
|
|
200
|
+
/** each用のテンプレート */
|
|
201
|
+
private template;
|
|
202
|
+
/** each比較用のキー */
|
|
203
|
+
private listKey;
|
|
204
|
+
/** valueプロパティの値 */
|
|
205
|
+
private value;
|
|
206
|
+
/** 属性更新スキップフラグ(オブザーバーによる無限ループ対応) */
|
|
207
|
+
private skipMutationAttributes;
|
|
208
|
+
/** 値変更スキップフラグ(更新イベントによる無限ループ対応) */
|
|
209
|
+
private skipChangeValue;
|
|
210
|
+
/**
|
|
211
|
+
* エレメントフラグメントのコンストラクタ。
|
|
212
|
+
* アトリビュートや子フラグメントの作成も行います。
|
|
213
|
+
*
|
|
214
|
+
* @param target 対象エレメント
|
|
215
|
+
*/
|
|
216
|
+
constructor(target: HTMLElement);
|
|
217
|
+
/**
|
|
218
|
+
* 子フラグメントのリストを取得します。
|
|
219
|
+
*
|
|
220
|
+
* @returns 子フラグメントのリスト
|
|
221
|
+
*/
|
|
222
|
+
getChildren(): Fragment[];
|
|
223
|
+
/**
|
|
224
|
+
* 子エレメントフラグメントのリストを取得します。
|
|
225
|
+
*
|
|
226
|
+
* @returns 子エレメントフラグメントのリスト
|
|
227
|
+
*/
|
|
228
|
+
getChildElementFragments(): ElementFragment[];
|
|
229
|
+
/**
|
|
230
|
+
* 子フラグメントをリストに追加します。
|
|
231
|
+
* DOMの追加は行いません。
|
|
232
|
+
*
|
|
233
|
+
* @param child 追加する子フラグメント
|
|
234
|
+
*/
|
|
235
|
+
pushChild(child: Fragment): void;
|
|
236
|
+
/**
|
|
237
|
+
* 子フラグメントをリストから削除します。
|
|
238
|
+
* DOMからの削除は行いません。
|
|
239
|
+
*
|
|
240
|
+
* @param child 削除する子フラグメント
|
|
241
|
+
*/
|
|
242
|
+
removeChild(child: Fragment): void;
|
|
243
|
+
/**
|
|
244
|
+
* フラグメントをクローンします。
|
|
245
|
+
*
|
|
246
|
+
* @returns クローンされたフラグメント
|
|
247
|
+
*/
|
|
248
|
+
clone(): ElementFragment;
|
|
249
|
+
/**
|
|
250
|
+
* フラグメントとノードを削除します。
|
|
251
|
+
*
|
|
252
|
+
* @param unmount DOMからの除去を行うかどうか(内部の子呼び出しの場合のみfalseとする)
|
|
253
|
+
* @return 除去のPromise
|
|
254
|
+
*/
|
|
255
|
+
remove(unmount?: boolean): Promise<void>;
|
|
256
|
+
/**
|
|
257
|
+
* フラグメントの対象エレメントを取得します。
|
|
258
|
+
*
|
|
259
|
+
* @returns フラグメントの対象エレメント
|
|
260
|
+
*/
|
|
261
|
+
getTarget(): HTMLElement;
|
|
262
|
+
/**
|
|
263
|
+
* 継承を考慮したバインドデータを取得します。
|
|
264
|
+
*
|
|
265
|
+
* @returns バインドデータのオブジェクト
|
|
266
|
+
*/
|
|
267
|
+
getBindingData(): Record<string, unknown>;
|
|
268
|
+
/**
|
|
269
|
+
* 生のバインドデータを取得します。
|
|
270
|
+
*
|
|
271
|
+
* @returns 生のバインドデータ
|
|
272
|
+
*/
|
|
273
|
+
getRawBindingData(): Record<string, unknown> | null;
|
|
274
|
+
/**
|
|
275
|
+
* バインドデータを設定します。
|
|
276
|
+
*
|
|
277
|
+
* @param data バインドデータ
|
|
278
|
+
*/
|
|
279
|
+
setBindingData(data: Record<string, unknown>): void;
|
|
280
|
+
/**
|
|
281
|
+
* バインドデータのキャッシュをクリアします。
|
|
282
|
+
*/
|
|
283
|
+
clearBindingDataCache(): void;
|
|
284
|
+
/**
|
|
285
|
+
* フラグメントのテンプレートを取得します。
|
|
286
|
+
*
|
|
287
|
+
* @returns テンプレート
|
|
288
|
+
*/
|
|
289
|
+
getTemplate(): ElementFragment | null;
|
|
290
|
+
/**
|
|
291
|
+
* フラグメントのテンプレートを設定します。
|
|
292
|
+
*
|
|
293
|
+
* @param template フラグメントのテンプレート
|
|
294
|
+
*/
|
|
295
|
+
setTemplate(template: ElementFragment | null): void;
|
|
296
|
+
/**
|
|
297
|
+
* 比較用リストキーを設定します。
|
|
298
|
+
*
|
|
299
|
+
* @param key 比較用リストキー
|
|
300
|
+
*/
|
|
301
|
+
setListKey(key: string): void;
|
|
302
|
+
/**
|
|
303
|
+
* 比較用リストキーを取得します。
|
|
304
|
+
*
|
|
305
|
+
* @returns 比較用リストキー
|
|
306
|
+
*/
|
|
307
|
+
getListKey(): string | null;
|
|
308
|
+
/**
|
|
309
|
+
* 入力エレメントに値を設定します。
|
|
310
|
+
* チェックボックとラジオボタンの場合は値に一致するかどうかでチェック状態を変更します。
|
|
311
|
+
*
|
|
312
|
+
* @param value 値
|
|
313
|
+
* @returns エレメントの更新のPromise
|
|
314
|
+
*/
|
|
315
|
+
setValue(value: string | number | boolean | null): Promise<void>;
|
|
316
|
+
/**
|
|
317
|
+
* 入力エレメントの値を取得します。
|
|
318
|
+
* DOM要素の現在の値と同期します。
|
|
319
|
+
*
|
|
320
|
+
* @returns 入力エレメントの値
|
|
321
|
+
*/
|
|
322
|
+
getValue(): string | number | boolean | null;
|
|
323
|
+
/**
|
|
324
|
+
* 内部の値をクリアします。エレメントのvalue値は変化しません。
|
|
325
|
+
*/
|
|
326
|
+
clearValue(): void;
|
|
327
|
+
/**
|
|
328
|
+
* 内部の値をDOMの値と同期します。
|
|
329
|
+
* changeイベント時など、DOM値が変更された後に呼び出されます。
|
|
330
|
+
*/
|
|
331
|
+
syncValue(): void;
|
|
332
|
+
/**
|
|
333
|
+
* 属性の値を評価して設定します。
|
|
334
|
+
* 評価値がfalseの場合は属性を削除します。
|
|
335
|
+
* 矯正評価属性の場合は元の値を設定します。
|
|
336
|
+
*
|
|
337
|
+
* @param name 属性名
|
|
338
|
+
* @param value 属性値
|
|
339
|
+
* @returns 属性の更新のPromise
|
|
340
|
+
*/
|
|
341
|
+
setAttribute(name: string, value: string | null): Promise<void>;
|
|
342
|
+
/**
|
|
343
|
+
* 属性の値を削除します。
|
|
344
|
+
*
|
|
345
|
+
* @param name 属性名
|
|
346
|
+
* @returns 属性の削除のPromise
|
|
347
|
+
*/
|
|
348
|
+
removeAttribute(name: string): Promise<void>;
|
|
349
|
+
/**
|
|
350
|
+
* 属性の評価された値を取得します。
|
|
351
|
+
* 複数の評価値がある場合は結合して返します。
|
|
352
|
+
*
|
|
353
|
+
* @param name 属性名
|
|
354
|
+
* @returns 評価された値
|
|
355
|
+
*/
|
|
356
|
+
getAttribute(name: string): string | false | unknown | null;
|
|
357
|
+
/**
|
|
358
|
+
* 属性の生の値を取得します。
|
|
359
|
+
*
|
|
360
|
+
* @param name 属性名
|
|
361
|
+
* @returns 生の属性値
|
|
362
|
+
*/
|
|
363
|
+
getRawAttribute(name: string): string | null;
|
|
364
|
+
/**
|
|
365
|
+
* 属性名のリストを取得します。
|
|
366
|
+
*
|
|
367
|
+
* @return 属性名のリスト
|
|
368
|
+
*/
|
|
369
|
+
getAttributeNames(): string[];
|
|
370
|
+
/**
|
|
371
|
+
* 属性の有無を確認します。
|
|
372
|
+
*
|
|
373
|
+
* @param name 属性名
|
|
374
|
+
* @returns 属性の有無
|
|
375
|
+
*/
|
|
376
|
+
hasAttribute(name: string): boolean;
|
|
377
|
+
/**
|
|
378
|
+
* 子ノードを参照ノードの前に挿入します。
|
|
379
|
+
* 参照ノードがnullの場合、親の最後に追加されます。
|
|
380
|
+
*
|
|
381
|
+
* @param newChild 新しい子ノード
|
|
382
|
+
* @param referenceChild 参照ノード
|
|
383
|
+
* @return 挿入のPromise
|
|
384
|
+
*/
|
|
385
|
+
insertBefore(newChild: Fragment, referenceChild: Fragment | null): Promise<void>;
|
|
386
|
+
/**
|
|
387
|
+
* 指定した参照ノードの後に子ノードを挿入します。
|
|
388
|
+
*
|
|
389
|
+
* @param newChild 子ノード
|
|
390
|
+
* @param referenceChild 参照ノード
|
|
391
|
+
* @returns 挿入のPromise
|
|
392
|
+
*/
|
|
393
|
+
insertAfter(newChild: Fragment, referenceChild: Fragment | null): Promise<void>;
|
|
394
|
+
/**
|
|
395
|
+
* 前のエレメントフラグメントを取得します。
|
|
396
|
+
* 存在しない場合はnullを返します。
|
|
397
|
+
*
|
|
398
|
+
* @return 前のエレメントフラグメントまたはnull
|
|
399
|
+
*/
|
|
400
|
+
getPrevious(): ElementFragment | null;
|
|
401
|
+
/**
|
|
402
|
+
* 次のエレメントフラグメントを取得します。
|
|
403
|
+
* 存在しない場合はnullを返します。
|
|
404
|
+
*
|
|
405
|
+
* @return 次のエレメントフラグメントまたはnull
|
|
406
|
+
*/
|
|
407
|
+
getNext(): ElementFragment | null;
|
|
408
|
+
/**
|
|
409
|
+
* 表示状態を返します。
|
|
410
|
+
*
|
|
411
|
+
* @returns 表示状態
|
|
412
|
+
*/
|
|
413
|
+
isVisible(): boolean;
|
|
414
|
+
/**
|
|
415
|
+
* エレメントを非表示にします。
|
|
416
|
+
*
|
|
417
|
+
* @returns エレメントの非表示のPromise
|
|
418
|
+
*/
|
|
419
|
+
hide(): Promise<void>;
|
|
420
|
+
/**
|
|
421
|
+
* エレメントを表示します。
|
|
422
|
+
*
|
|
423
|
+
* @return エレメントの表示のPromise
|
|
424
|
+
*/
|
|
425
|
+
show(): Promise<void>;
|
|
426
|
+
/**
|
|
427
|
+
* 指定した属性名を持つ最も近い親要素を返します。
|
|
428
|
+
* 見つからない場合はnullを返します。
|
|
429
|
+
*
|
|
430
|
+
* @param name 属性名
|
|
431
|
+
* @returns 最も近い親要素またはnull
|
|
432
|
+
*/
|
|
433
|
+
closestByAttribute(name: string): ElementFragment | null;
|
|
434
|
+
}
|
|
435
|
+
|
|
436
|
+
/**
|
|
437
|
+
* @fileoverview Haori環境検出機能
|
|
438
|
+
*
|
|
439
|
+
* 実行環境を管理します。
|
|
440
|
+
*/
|
|
441
|
+
/**
|
|
442
|
+
* 実行環境を管理するクラスです。
|
|
443
|
+
*/
|
|
444
|
+
export declare class Env {
|
|
445
|
+
private static _prefix;
|
|
446
|
+
/**
|
|
447
|
+
* 実行環境からプレフィックスと開発モードかどうかを自動検出します。
|
|
448
|
+
* scriptタグにdata-prefixがある場合は、その値+"-"をプレフィックスとして使用します。
|
|
449
|
+
* scriptタグにdata-dev属性がある場合、
|
|
450
|
+
* もしくはローカルホスト系ドメインであれば開発モードを有効化します。
|
|
451
|
+
*/
|
|
452
|
+
static detect(): void;
|
|
453
|
+
/**
|
|
454
|
+
* プレフィックスを取得します。
|
|
455
|
+
*
|
|
456
|
+
* @returns プレフィックス
|
|
457
|
+
*/
|
|
458
|
+
static get prefix(): string;
|
|
459
|
+
}
|
|
460
|
+
|
|
461
|
+
/**
|
|
462
|
+
* Formクラスは、フォームの双方向バインディングを提供します。
|
|
463
|
+
* 入力要素の値をフォームにバインドし、フォームのバインド値を入力要素に反映します。
|
|
464
|
+
*/
|
|
465
|
+
export declare class Form {
|
|
466
|
+
/**
|
|
467
|
+
* フォーム内にある入力エレメントの値をオブジェクトとして取得します。
|
|
468
|
+
* data-form-object属性があると、そのエレメント内の値はオブジェクトとして処理されます。
|
|
469
|
+
* 入力エレメントにdata-form-list属性があると、そのエレメントの値はリストとして処理されます。
|
|
470
|
+
* 入力エレメント以外にdata-form-list属性があると、そのエレメントの値はオブジェクトのリストとして処理されます。
|
|
471
|
+
*
|
|
472
|
+
* @param form フォームのElementFragment
|
|
473
|
+
*/
|
|
474
|
+
static getValues(form: ElementFragment): Record<string, unknown>;
|
|
475
|
+
/**
|
|
476
|
+
* フォーム内の各入力エレメントから値を取得し、オブジェクトとして返します。
|
|
477
|
+
* 入力エレメントのname属性、data-form-object属性、data-form-list属性に基づいて値を整理します。
|
|
478
|
+
*
|
|
479
|
+
* @param fragment 対象のElementFragment
|
|
480
|
+
* @param values オブジェクトに追加する値のオブジェクト
|
|
481
|
+
* @returns values と同じオブジェクト
|
|
482
|
+
*/
|
|
483
|
+
private static getPartValues;
|
|
484
|
+
/**
|
|
485
|
+
* フォーム内にある入力エレメントに値を設定します。
|
|
486
|
+
* フォームのdata-bind属性に値が反映されます。
|
|
487
|
+
*
|
|
488
|
+
* @param form フォームのElementFragment
|
|
489
|
+
* @param values フォームに設定する値のオブジェクト
|
|
490
|
+
* @param force data-form-detach属性があるエレメントにも値を反映するかどうか
|
|
491
|
+
* @returns Promise(DOMの更新が完了したら解決される)
|
|
492
|
+
*/
|
|
493
|
+
static setValues(form: ElementFragment, values: Record<string, unknown>, force?: boolean): Promise<void>;
|
|
494
|
+
/**
|
|
495
|
+
* フラグメント内にある各入力エレメントに値を設定します。
|
|
496
|
+
*
|
|
497
|
+
* @param fragment 対象フラグメント
|
|
498
|
+
* @param values フラグメントに設定する値のオブジェクト
|
|
499
|
+
* @param index 配列の場合のインデックス
|
|
500
|
+
* @param force data-form-detach属性があるエレメントにも値を反映するかどうか
|
|
501
|
+
* @returns Promise(DOMの更新が完了したら解決される)
|
|
502
|
+
*/
|
|
503
|
+
private static setPartValues;
|
|
504
|
+
/**
|
|
505
|
+
* 対象フラグメントとその子孫要素の値を初期化します。
|
|
506
|
+
* 値の初期化とメッセージのクリアを行います。
|
|
507
|
+
*
|
|
508
|
+
* @param fragment 対象フラグメント
|
|
509
|
+
* @returns すべての初期化処理が完了するPromise
|
|
510
|
+
*/
|
|
511
|
+
static reset(fragment: ElementFragment): Promise<void>;
|
|
512
|
+
/**
|
|
513
|
+
* data-each によって生成された複製(テンプレート以外)を削除します。
|
|
514
|
+
* 既存のテンプレートは保持し、その後の再評価で必要に応じて再生成されます。
|
|
515
|
+
* 対象エレメント自体がdata-eachを持つ場合はその子の複製を削除しますが、
|
|
516
|
+
* 対象エレメント自体は削除しません。
|
|
517
|
+
*/
|
|
518
|
+
private static clearEachClones;
|
|
519
|
+
/**
|
|
520
|
+
* 再帰的に値を初期化します。
|
|
521
|
+
*
|
|
522
|
+
* @param fragment 対象フラグメント
|
|
523
|
+
*/
|
|
524
|
+
private static clearValues;
|
|
525
|
+
/**
|
|
526
|
+
* フラグメントとその子要素のメッセージをクリアします。
|
|
527
|
+
*
|
|
528
|
+
* @param fragment 対象フラグメント
|
|
529
|
+
* @returns Promise(メッセージのクリアが完了したら解決される)
|
|
530
|
+
*/
|
|
531
|
+
static clearMessages(fragment: ElementFragment): Promise<void>;
|
|
532
|
+
/**
|
|
533
|
+
* キーに一致するフラグメントにエラーメッセージを追加します。
|
|
534
|
+
* キーに一致するフラグメントが見つからない場合は、指定されたフラグメントにメッセージを追加します。
|
|
535
|
+
*
|
|
536
|
+
* @param fragment 対象フラグメント
|
|
537
|
+
* @param key キー(ドット区切りの文字列)
|
|
538
|
+
* @param message 追加するエラーメッセージ]
|
|
539
|
+
* @return Promise(メッセージの追加が完了したら解決される)
|
|
540
|
+
*/
|
|
541
|
+
static addErrorMessage(fragment: ElementFragment, key: string, message: string): Promise<void>;
|
|
542
|
+
/**
|
|
543
|
+
* 指定されたキーに一致するフラグメントを検索します。
|
|
544
|
+
*
|
|
545
|
+
* @param fragment 対象フラグメント
|
|
546
|
+
* @param key キー(ドット区切りの文字列)
|
|
547
|
+
* @returns 一致するフラグメントの配列
|
|
548
|
+
*/
|
|
549
|
+
static findFragmentsByKey(fragment: ElementFragment, key: string): ElementFragment[];
|
|
550
|
+
/**
|
|
551
|
+
* 指定されたキーに一致するフラグメントを検索します。
|
|
552
|
+
* data-form-list属性で指定された場合はdata-row属性を持つ子要素の位置と添字が一致するものを対象とします。
|
|
553
|
+
*
|
|
554
|
+
* @param fragment 対象フラグメント
|
|
555
|
+
* @param parts キーのパーツ
|
|
556
|
+
* @returns 一致するフラグメントの配列
|
|
557
|
+
*/
|
|
558
|
+
private static findFragmentByKeyParts;
|
|
559
|
+
/**
|
|
560
|
+
* 対象のフラグメントがフォームフラグメントであればそれを返し、
|
|
561
|
+
* そうでなければ先祖要素をたどってフォームフラグメントを探します。
|
|
562
|
+
*
|
|
563
|
+
* @param fragment
|
|
564
|
+
*/
|
|
565
|
+
static getFormFragment(fragment: ElementFragment): ElementFragment | null;
|
|
566
|
+
}
|
|
567
|
+
|
|
568
|
+
/**
|
|
569
|
+
* 仮想DOMのフラグメントの抽象クラス。
|
|
570
|
+
*/
|
|
571
|
+
export declare abstract class Fragment {
|
|
572
|
+
/** フラグメントの対象ノードに対するキャッシュ */
|
|
573
|
+
protected static readonly FRAGMENT_CACHE: WeakMap<Node, Fragment>;
|
|
574
|
+
/**
|
|
575
|
+
* フラグメントを取得もしくは作成します。
|
|
576
|
+
*
|
|
577
|
+
* @param node 対象ノード
|
|
578
|
+
* @returns フラグメント
|
|
579
|
+
*/
|
|
580
|
+
static get(node: HTMLElement): ElementFragment;
|
|
581
|
+
static get(node: Text): TextFragment;
|
|
582
|
+
static get(node: Comment): CommentFragment;
|
|
583
|
+
static get(node: Node | null): Fragment | null;
|
|
584
|
+
/** 親フラグメント */
|
|
585
|
+
protected parent: ElementFragment | null;
|
|
586
|
+
/** 対象ノード */
|
|
587
|
+
protected readonly target: Node;
|
|
588
|
+
/** フラグメントがDOMにマウントされているかどうか */
|
|
589
|
+
protected mounted: boolean;
|
|
590
|
+
/** ノード更新スキップフラグ(オブザーバーによる無限ループ対応) */
|
|
591
|
+
protected skipMutationNodes: boolean;
|
|
592
|
+
/**
|
|
593
|
+
* フラグメントのコンストラクタ。
|
|
594
|
+
*
|
|
595
|
+
* @param target 対象ノード
|
|
596
|
+
*/
|
|
597
|
+
protected constructor(target: Node);
|
|
598
|
+
/**
|
|
599
|
+
* skipMutationNodesフラグの値を取得します。
|
|
600
|
+
*
|
|
601
|
+
* @returns skipMutationNodesの値
|
|
602
|
+
*/
|
|
603
|
+
isSkipMutationNodes(): boolean;
|
|
604
|
+
/**
|
|
605
|
+
* フラグメントをDOMから除去します。
|
|
606
|
+
*
|
|
607
|
+
* @return 除去のPromise
|
|
608
|
+
*/
|
|
609
|
+
unmount(): Promise<void>;
|
|
610
|
+
/**
|
|
611
|
+
* フラグメントをDOMに追加します。
|
|
612
|
+
*
|
|
613
|
+
* @return 追加のPromise
|
|
614
|
+
*/
|
|
615
|
+
mount(): Promise<void>;
|
|
616
|
+
/**
|
|
617
|
+
* フラグメントのマウント状態を取得します。
|
|
618
|
+
*
|
|
619
|
+
* @returns マウント状態
|
|
620
|
+
*/
|
|
621
|
+
isMounted(): boolean;
|
|
622
|
+
/**
|
|
623
|
+
* フラグメントのマウント状態を設定します。
|
|
624
|
+
*
|
|
625
|
+
* @param mounted マウント状態
|
|
626
|
+
*/
|
|
627
|
+
setMounted(mounted: boolean): void;
|
|
628
|
+
/**
|
|
629
|
+
* フラグメントをクローンします。
|
|
630
|
+
*
|
|
631
|
+
* @returns クローンされたフラグメント
|
|
632
|
+
*/
|
|
633
|
+
abstract clone(): Fragment;
|
|
634
|
+
/**
|
|
635
|
+
* フラグメントとノードを削除します。
|
|
636
|
+
*
|
|
637
|
+
* @param unmount DOMからの除去を行うかどうか(内部の子呼び出しの場合のみfalseとする)
|
|
638
|
+
* @return 除去のPromise
|
|
639
|
+
*/
|
|
640
|
+
remove(unmount?: boolean): Promise<void>;
|
|
641
|
+
/**
|
|
642
|
+
* 対象ノードを取得します。
|
|
643
|
+
*
|
|
644
|
+
* @returns 対象ノード
|
|
645
|
+
*/
|
|
646
|
+
getTarget(): Node;
|
|
647
|
+
/**
|
|
648
|
+
* 親フラグメントを取得します。
|
|
649
|
+
*
|
|
650
|
+
* @returns 親フラグメント
|
|
651
|
+
*/
|
|
652
|
+
getParent(): ElementFragment | null;
|
|
653
|
+
/**
|
|
654
|
+
* 親フラグメントを設定します。
|
|
655
|
+
*
|
|
656
|
+
* @param parent 親フラグメント
|
|
657
|
+
*/
|
|
658
|
+
setParent(parent: ElementFragment | null): void;
|
|
659
|
+
}
|
|
660
|
+
|
|
661
|
+
/**
|
|
662
|
+
* Haoriクラスは、アプリケーション全体で使用されるユーティリティメソッドを提供します。
|
|
663
|
+
* 挙動を変更する場合は必要に応じてオーバライドしてください。
|
|
664
|
+
*/
|
|
665
|
+
declare class Haori {
|
|
666
|
+
/**
|
|
667
|
+
* 通知ダイアログを表示します。
|
|
668
|
+
*
|
|
669
|
+
* @param message 表示メッセージ
|
|
670
|
+
* @returns 通知が閉じられると解決されるPromise
|
|
671
|
+
*/
|
|
672
|
+
static dialog(message: string): Promise<void>;
|
|
673
|
+
/**
|
|
674
|
+
* 通知トーストを表示します。
|
|
675
|
+
*
|
|
676
|
+
* @param message 表示メッセージ
|
|
677
|
+
* @param level メッセージのレベル('info' | 'warning' | 'error')
|
|
678
|
+
* @return 通知が表示されると解決されるPromise
|
|
679
|
+
*/
|
|
680
|
+
static toast(message: string, level: 'info' | 'warning' | 'error'): Promise<void>;
|
|
681
|
+
/**
|
|
682
|
+
* 確認ダイアログを表示します。
|
|
683
|
+
*
|
|
684
|
+
* @param message 確認メッセージ
|
|
685
|
+
* @returns ユーザーがOKをクリックした場合はtrue、キャンセルした場合はfalseが解決されるPromise
|
|
686
|
+
*/
|
|
687
|
+
static confirm(message: string): Promise<boolean>;
|
|
688
|
+
/**
|
|
689
|
+
* ダイアログを開きます。
|
|
690
|
+
*
|
|
691
|
+
* @param element 開くダイアログのHTML要素
|
|
692
|
+
*/
|
|
693
|
+
static openDialog(element: HTMLElement): Promise<void>;
|
|
694
|
+
/**
|
|
695
|
+
* ダイアログを閉じます。
|
|
696
|
+
*
|
|
697
|
+
* @param element 閉じるダイアログのHTML要素
|
|
698
|
+
*/
|
|
699
|
+
static closeDialog(element: HTMLElement): Promise<void>;
|
|
700
|
+
/**
|
|
701
|
+
* エラーメッセージを追加します。
|
|
702
|
+
*
|
|
703
|
+
* @param target メッセージを表示する要素
|
|
704
|
+
* @param message エラーメッセージ
|
|
705
|
+
*/
|
|
706
|
+
static addErrorMessage(target: HTMLElement | HTMLFormElement, message: string): Promise<void>;
|
|
707
|
+
/**
|
|
708
|
+
* 対象のエレメントおよびその子要素のメッセージをクリアします。
|
|
709
|
+
*
|
|
710
|
+
* @param parent メッセージをクリアする親要素
|
|
711
|
+
*/
|
|
712
|
+
static clearMessages(parent: HTMLElement): Promise<void>;
|
|
713
|
+
}
|
|
714
|
+
export { Haori }
|
|
715
|
+
export default Haori;
|
|
716
|
+
|
|
717
|
+
/**
|
|
718
|
+
* @fileoverview Haori共通ログ機能
|
|
719
|
+
*
|
|
720
|
+
* 開発モード時のみログ出力を行います。
|
|
721
|
+
*/
|
|
722
|
+
/**
|
|
723
|
+
* ログ出力を管理するクラス
|
|
724
|
+
*/
|
|
725
|
+
export declare class Log {
|
|
726
|
+
/**
|
|
727
|
+
* 開発モードでのみコンソールに情報を出力します。
|
|
728
|
+
*
|
|
729
|
+
* @param message 出力するメッセージ
|
|
730
|
+
* @param args 追加の引数
|
|
731
|
+
*/
|
|
732
|
+
static info(message: string, ...args: unknown[]): void;
|
|
733
|
+
/**
|
|
734
|
+
* 開発モードでのみコンソールに警告を出力します。
|
|
735
|
+
*
|
|
736
|
+
* @param message 出力するメッセージ
|
|
737
|
+
* @param args 追加の引数
|
|
738
|
+
*/
|
|
739
|
+
static warn(message: string, ...args: unknown[]): void;
|
|
740
|
+
/**
|
|
741
|
+
* モードに関係なくコンソールにエラーを出力します。
|
|
742
|
+
*
|
|
743
|
+
* @param message 出力するメッセージ
|
|
744
|
+
* @param args 追加の引数
|
|
745
|
+
*/
|
|
746
|
+
static error(message: string, ...args: unknown[]): void;
|
|
747
|
+
}
|
|
748
|
+
|
|
749
|
+
/**
|
|
750
|
+
* @fileoverview 汎用非同期キュー機能
|
|
751
|
+
*
|
|
752
|
+
* 任意の処理を非同期でキューイングし、requestAnimationFrameを使用して順次実行します。
|
|
753
|
+
* 各処理はPromiseを返し、完了時の処理を記述できます。
|
|
754
|
+
* DOM操作などの非同期処理に適しています。
|
|
755
|
+
*/
|
|
756
|
+
/**
|
|
757
|
+
* 非同期キューのデフォルトインスタンス。
|
|
758
|
+
* このインスタンスを使用して、アプリケーション全体でタスクをキューイングできます。
|
|
759
|
+
*/
|
|
760
|
+
export declare class Queue {
|
|
761
|
+
/** 非同期キューインスタンス */
|
|
762
|
+
private static readonly ASYNC_QUEUE;
|
|
763
|
+
/**
|
|
764
|
+
* タスクをキューに追加します。
|
|
765
|
+
*
|
|
766
|
+
* @param task 実行する処理
|
|
767
|
+
* @param prepend trueの場合はキューの先頭に追加、falseの場合は末尾に追加
|
|
768
|
+
* @returns 処理完了Promise
|
|
769
|
+
*/
|
|
770
|
+
static enqueue(task: () => unknown, prepend?: boolean): Promise<unknown>;
|
|
771
|
+
/**
|
|
772
|
+
* 全てのキュー処理が完了するまで待機します。
|
|
773
|
+
*/
|
|
774
|
+
static wait(): Promise<void>;
|
|
775
|
+
}
|
|
776
|
+
|
|
777
|
+
/**
|
|
778
|
+
* テキストフラグメント。
|
|
779
|
+
* テキストノードを表現します。
|
|
780
|
+
*/
|
|
781
|
+
declare class TextFragment extends Fragment {
|
|
782
|
+
/** 未評価のテキスト文字列 */
|
|
783
|
+
private text;
|
|
784
|
+
/** コンテンツ */
|
|
785
|
+
private contents;
|
|
786
|
+
/** 更新スキップフラグ(オブザーバーによる無限ループ対応) */
|
|
787
|
+
private skipMutation;
|
|
788
|
+
/**
|
|
789
|
+
* テキストフラグメントのコンストラクタ。
|
|
790
|
+
* 対象テキストノードの内容を初期化します。
|
|
791
|
+
*
|
|
792
|
+
* @param target 対象テキストノード
|
|
793
|
+
*/
|
|
794
|
+
constructor(target: Text);
|
|
795
|
+
/**
|
|
796
|
+
* フラグメントをクローンします。
|
|
797
|
+
*
|
|
798
|
+
* @returns クローンされたフラグメント
|
|
799
|
+
*/
|
|
800
|
+
clone(): TextFragment;
|
|
801
|
+
/**
|
|
802
|
+
* フラグメントの対象ノードを取得します。
|
|
803
|
+
*
|
|
804
|
+
* @returns フラグメントの対象ノード
|
|
805
|
+
*/
|
|
806
|
+
getTarget(): Text;
|
|
807
|
+
/**
|
|
808
|
+
* コンテンツを更新します。
|
|
809
|
+
*
|
|
810
|
+
* @param text テキスト
|
|
811
|
+
* @returns 更新のPromise
|
|
812
|
+
*/
|
|
813
|
+
setContent(text: string): Promise<void>;
|
|
814
|
+
/**
|
|
815
|
+
* フラグメントを評価します。
|
|
816
|
+
*
|
|
817
|
+
* @returns 評価結果のPromise
|
|
818
|
+
*/
|
|
819
|
+
evaluate(): Promise<void>;
|
|
820
|
+
}
|
|
821
|
+
|
|
822
|
+
export declare const version = "0.1.0";
|
|
823
|
+
|
|
824
|
+
export { }
|