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
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
import { ElementFragment, TextFragment } from './fragment';
|
|
2
|
+
/**
|
|
3
|
+
* アプリケーションの中心的な制御を行うクラスです。
|
|
4
|
+
* Fragment の初期化、属性変化の処理、条件分岐・繰り返し処理を管理します。
|
|
5
|
+
*/
|
|
6
|
+
export default class Core {
|
|
7
|
+
/** 優先処理する属性のサフィックス(処理順序で定義) */
|
|
8
|
+
private static readonly PRIORITY_ATTRIBUTE_SUFFIXES;
|
|
9
|
+
/** 遅延処理する属性のサフィックス */
|
|
10
|
+
private static readonly DEFERRED_ATTRIBUTE_SUFFIXES;
|
|
11
|
+
/**
|
|
12
|
+
* 遅延属性かどうか(完全名で判定)を判定します。
|
|
13
|
+
*
|
|
14
|
+
* @param name 属性名
|
|
15
|
+
* @returns 遅延属性かどうか
|
|
16
|
+
*/
|
|
17
|
+
private static isDeferredAttributeName;
|
|
18
|
+
/**
|
|
19
|
+
* 指定された要素と、その子要素をスキャンし、Fragmentを生成します。
|
|
20
|
+
*
|
|
21
|
+
* @param element スキャン対象の要素
|
|
22
|
+
* @returns Promise (スキャンが完了したときに解決される)
|
|
23
|
+
*/
|
|
24
|
+
static scan(element: HTMLElement): Promise<void>;
|
|
25
|
+
/**
|
|
26
|
+
* エレメントに属性を設定します。
|
|
27
|
+
* 属性固有の処理も行います。
|
|
28
|
+
*
|
|
29
|
+
* @param element エレメント
|
|
30
|
+
* @param name 属性名
|
|
31
|
+
* @param value 属性値
|
|
32
|
+
* @returns Promise (DOM操作が完了したときに解決される)
|
|
33
|
+
*/
|
|
34
|
+
static setAttribute(element: HTMLElement, name: string, value: string | null): Promise<void>;
|
|
35
|
+
/**
|
|
36
|
+
* エレメントに属性を設定し、評価を行います。
|
|
37
|
+
*
|
|
38
|
+
* @param element エレメント
|
|
39
|
+
* @param name 属性名
|
|
40
|
+
* @param value 属性値
|
|
41
|
+
* @returns Promise (DOM操作が完了したときに解決される)
|
|
42
|
+
*/
|
|
43
|
+
static setBindingData(element: HTMLElement, data: Record<string, unknown>): Promise<void>;
|
|
44
|
+
/**
|
|
45
|
+
* data-bind 属性の値をパースします。
|
|
46
|
+
*
|
|
47
|
+
* @param data data-bind 属性の値
|
|
48
|
+
* @returns パースされたデータオブジェクト
|
|
49
|
+
*/
|
|
50
|
+
static parseDataBind(data: string): Record<string, unknown>;
|
|
51
|
+
/**
|
|
52
|
+
* ノードを親要素に追加し評価を行います。
|
|
53
|
+
*
|
|
54
|
+
* @param parentElement 親エレメント
|
|
55
|
+
* @param node 追加するノード
|
|
56
|
+
*/
|
|
57
|
+
static addNode(parentElement: HTMLElement, node: Node): void;
|
|
58
|
+
/**
|
|
59
|
+
* ノードを親要素から削除します。
|
|
60
|
+
*
|
|
61
|
+
* @param node 削除するノード
|
|
62
|
+
*/
|
|
63
|
+
static removeNode(node: Node): void;
|
|
64
|
+
/**
|
|
65
|
+
* ノードのテキストを変更します。
|
|
66
|
+
*
|
|
67
|
+
* @param node 変更するノード
|
|
68
|
+
* @param text 新しいテキスト
|
|
69
|
+
*/
|
|
70
|
+
static changeText(node: Text | Comment, text: string): void;
|
|
71
|
+
/**
|
|
72
|
+
* エレメントの値を変更します。
|
|
73
|
+
* フォームの双方向バインディングを考慮し、フォームのバインドデータも更新します。
|
|
74
|
+
*
|
|
75
|
+
* @param element 変更するエレメント
|
|
76
|
+
* @param value 新しい値
|
|
77
|
+
* @returns Promise (DOM操作が完了したときに解決される)
|
|
78
|
+
*/
|
|
79
|
+
static changeValue(element: HTMLElement, value: string): Promise<void>;
|
|
80
|
+
/**
|
|
81
|
+
* フォームフラグメントを取得します。
|
|
82
|
+
*
|
|
83
|
+
* @param fragment フラグメント
|
|
84
|
+
* @returns フォームフラグメントまたはnull
|
|
85
|
+
*/
|
|
86
|
+
private static getFormFragment;
|
|
87
|
+
/**
|
|
88
|
+
* フラグメントとその子要素を評価します。
|
|
89
|
+
*
|
|
90
|
+
* @param fragment 対象フラグメント
|
|
91
|
+
* @return Promise (DOM操作が完了したときに解決される)
|
|
92
|
+
*/
|
|
93
|
+
static evaluateAll(fragment: ElementFragment): Promise<void>;
|
|
94
|
+
/**
|
|
95
|
+
* テキストフラグメントを評価します。
|
|
96
|
+
*
|
|
97
|
+
* @param fragment 対象フラグメント
|
|
98
|
+
* @returns Promise (DOM操作が完了したときに解決される)
|
|
99
|
+
*/
|
|
100
|
+
static evaluateText(fragment: TextFragment): Promise<void>;
|
|
101
|
+
/**
|
|
102
|
+
* if要素を評価します。
|
|
103
|
+
* 値がfalse、null、undefined、NaNの場合は非表示にし、それ以外の場合は表示します。
|
|
104
|
+
*
|
|
105
|
+
* @param fragment 対象フラグメント
|
|
106
|
+
* @return Promise (DOM操作が完了したときに解決される)
|
|
107
|
+
*/
|
|
108
|
+
static evaluateIf(fragment: ElementFragment): Promise<void>;
|
|
109
|
+
/**
|
|
110
|
+
* each要素を評価します。
|
|
111
|
+
* 非表示または未マウントの場合は処理をスキップします。
|
|
112
|
+
*
|
|
113
|
+
* @param fragment 対象フラグメント
|
|
114
|
+
*/
|
|
115
|
+
static evaluateEach(fragment: ElementFragment): Promise<void>;
|
|
116
|
+
/**
|
|
117
|
+
* 差分を更新します。
|
|
118
|
+
*
|
|
119
|
+
* @param parent 親フラグメント
|
|
120
|
+
* @param newList 新しいリスト
|
|
121
|
+
*/
|
|
122
|
+
private static updateDiff;
|
|
123
|
+
/**
|
|
124
|
+
* リスト比較用のキーを生成します。
|
|
125
|
+
*
|
|
126
|
+
* @param item 対象オブジェクト
|
|
127
|
+
* @param keyArg リストキーに使用するプロパティ名
|
|
128
|
+
* @param index 配列のインデックス
|
|
129
|
+
* @returns リストキー
|
|
130
|
+
*/
|
|
131
|
+
private static createListKey;
|
|
132
|
+
/**
|
|
133
|
+
* 行フラグメントにデータを設定します。
|
|
134
|
+
*
|
|
135
|
+
* @param rowFragment 行フラグメント
|
|
136
|
+
* @param data 行データ
|
|
137
|
+
* @param indexKey インデックスキー
|
|
138
|
+
* @param index インデックス番号
|
|
139
|
+
* @param arg バインドデータパラメータ名
|
|
140
|
+
* @param listKey リストキー
|
|
141
|
+
*/
|
|
142
|
+
private static updateRowFragment;
|
|
143
|
+
}
|
|
144
|
+
//# sourceMappingURL=core.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/core.ts"],"names":[],"mappings":"AAQA,OAAiB,EAAC,eAAe,EAAE,YAAY,EAAC,MAAM,YAAY,CAAC;AAQnE;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,IAAI;IACvB,+BAA+B;IAC/B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,2BAA2B,CAA0B;IAE7E,sBAAsB;IACtB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,2BAA2B,CAA0B;IAE7E;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,uBAAuB;IAMtC;;;;;OAKG;WACW,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAmEvD;;;;;;;;OAQG;WACW,YAAY,CACxB,OAAO,EAAE,WAAW,EACpB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,GAAG,IAAI,GACnB,OAAO,CAAC,IAAI,CAAC;IAoEhB;;;;;;;OAOG;WACW,cAAc,CAC1B,OAAO,EAAE,WAAW,EACpB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,OAAO,CAAC,IAAI,CAAC;IAgBhB;;;;;OAKG;WACW,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IA6BlE;;;;;OAKG;WACW,OAAO,CAAC,aAAa,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI;IAoB5D;;;;OAIG;WACW,UAAU,CAAC,IAAI,EAAE,IAAI;IAYnC;;;;;OAKG;WACW,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM;IAO3D;;;;;;;OAOG;WACW,WAAW,CACvB,OAAO,EAAE,WAAW,EACpB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,IAAI,CAAC;IA0BhB;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,eAAe;IAa9B;;;;;OAKG;WACW,WAAW,CAAC,QAAQ,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBnE;;;;;OAKG;WACW,YAAY,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjE;;;;;;OAMG;WACW,UAAU,CAAC,QAAQ,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IA6BlE;;;;;OAKG;WACW,YAAY,CAAC,QAAQ,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAyDpE;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,UAAU;IAwGzB;;;;;;;OAOG;IACH,OAAO,CAAC,MAAM,CAAC,aAAa;IA0B5B;;;;;;;;;OASG;IACH,OAAO,CAAC,MAAM,CAAC,iBAAiB;CAuCjC"}
|