draft-ole 0.9.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 +134 -0
- package/README.md +128 -0
- package/dist/chunk-5BNNDTRT.js +95 -0
- package/dist/chunk-5BNNDTRT.js.map +1 -0
- package/dist/chunk-STLTIBMA.js +7658 -0
- package/dist/chunk-STLTIBMA.js.map +1 -0
- package/dist/chunk-YK4Y4ENL.js +389 -0
- package/dist/chunk-YK4Y4ENL.js.map +1 -0
- package/dist/entries/app.cjs +7337 -0
- package/dist/entries/app.cjs.map +1 -0
- package/dist/entries/app.d.cts +115 -0
- package/dist/entries/app.d.ts +115 -0
- package/dist/entries/app.js +10 -0
- package/dist/entries/app.js.map +1 -0
- package/dist/entries/page.cjs +7558 -0
- package/dist/entries/page.cjs.map +1 -0
- package/dist/entries/page.d.cts +2 -0
- package/dist/entries/page.d.ts +2 -0
- package/dist/entries/page.js +30 -0
- package/dist/entries/page.js.map +1 -0
- package/dist/index.cjs +10524 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +4700 -0
- package/dist/index.d.ts +4700 -0
- package/dist/index.js +2573 -0
- package/dist/index.js.map +1 -0
- package/dist/page-DylNkWXm.d.ts +366 -0
- package/dist/page-h3DPzs8l.d.cts +366 -0
- package/dist/transformer/call-detector.d.ts +38 -0
- package/dist/transformer/call-detector.d.ts.map +1 -0
- package/dist/transformer/call-detector.js +151 -0
- package/dist/transformer/call-detector.js.map +1 -0
- package/dist/transformer/command-injector.d.ts +27 -0
- package/dist/transformer/command-injector.d.ts.map +1 -0
- package/dist/transformer/command-injector.js +111 -0
- package/dist/transformer/command-injector.js.map +1 -0
- package/dist/transformer/diagnostic-reporter.d.ts +81 -0
- package/dist/transformer/diagnostic-reporter.d.ts.map +1 -0
- package/dist/transformer/diagnostic-reporter.js +330 -0
- package/dist/transformer/diagnostic-reporter.js.map +1 -0
- package/dist/transformer/each-scope-branch.d.ts +28 -0
- package/dist/transformer/each-scope-branch.d.ts.map +1 -0
- package/dist/transformer/each-scope-branch.js +95 -0
- package/dist/transformer/each-scope-branch.js.map +1 -0
- package/dist/transformer/each-state-rewriter.d.ts +117 -0
- package/dist/transformer/each-state-rewriter.d.ts.map +1 -0
- package/dist/transformer/each-state-rewriter.js +393 -0
- package/dist/transformer/each-state-rewriter.js.map +1 -0
- package/dist/transformer/format-diagnostics.d.ts +27 -0
- package/dist/transformer/format-diagnostics.d.ts.map +1 -0
- package/dist/transformer/format-diagnostics.js +50 -0
- package/dist/transformer/format-diagnostics.js.map +1 -0
- package/dist/transformer/handler-ir-extractor.d.ts +71 -0
- package/dist/transformer/handler-ir-extractor.d.ts.map +1 -0
- package/dist/transformer/handler-ir-extractor.js +171 -0
- package/dist/transformer/handler-ir-extractor.js.map +1 -0
- package/dist/transformer/handler-serializer.d.ts +56 -0
- package/dist/transformer/handler-serializer.d.ts.map +1 -0
- package/dist/transformer/handler-serializer.js +315 -0
- package/dist/transformer/handler-serializer.js.map +1 -0
- package/dist/transformer/helper-context-resolver.d.ts +180 -0
- package/dist/transformer/helper-context-resolver.d.ts.map +1 -0
- package/dist/transformer/helper-context-resolver.js +376 -0
- package/dist/transformer/helper-context-resolver.js.map +1 -0
- package/dist/transformer/helper-decl-utils.d.ts +28 -0
- package/dist/transformer/helper-decl-utils.d.ts.map +1 -0
- package/dist/transformer/helper-decl-utils.js +92 -0
- package/dist/transformer/helper-decl-utils.js.map +1 -0
- package/dist/transformer/identifier-collector.d.ts +28 -0
- package/dist/transformer/identifier-collector.d.ts.map +1 -0
- package/dist/transformer/identifier-collector.js +184 -0
- package/dist/transformer/identifier-collector.js.map +1 -0
- package/dist/transformer/index.d.ts +56 -0
- package/dist/transformer/index.d.ts.map +1 -0
- package/dist/transformer/index.js +333 -0
- package/dist/transformer/index.js.map +1 -0
- package/dist/transformer/inline-recovery.d.ts +109 -0
- package/dist/transformer/inline-recovery.d.ts.map +1 -0
- package/dist/transformer/inline-recovery.js +369 -0
- package/dist/transformer/inline-recovery.js.map +1 -0
- package/dist/transformer/label-injector.d.ts +105 -0
- package/dist/transformer/label-injector.d.ts.map +1 -0
- package/dist/transformer/label-injector.js +221 -0
- package/dist/transformer/label-injector.js.map +1 -0
- package/dist/transformer/package.json +3 -0
- package/dist/transformer/per-call-context.d.ts +95 -0
- package/dist/transformer/per-call-context.d.ts.map +1 -0
- package/dist/transformer/per-call-context.js +3 -0
- package/dist/transformer/per-call-context.js.map +1 -0
- package/dist/transformer/state-id-fallback.d.ts +85 -0
- package/dist/transformer/state-id-fallback.d.ts.map +1 -0
- package/dist/transformer/state-id-fallback.js +132 -0
- package/dist/transformer/state-id-fallback.js.map +1 -0
- package/dist/transformer/state-id-resolver.d.ts +104 -0
- package/dist/transformer/state-id-resolver.d.ts.map +1 -0
- package/dist/transformer/state-id-resolver.js +222 -0
- package/dist/transformer/state-id-resolver.js.map +1 -0
- package/dist/transformer/theme-class-detector.d.ts +47 -0
- package/dist/transformer/theme-class-detector.d.ts.map +1 -0
- package/dist/transformer/theme-class-detector.js +242 -0
- package/dist/transformer/theme-class-detector.js.map +1 -0
- package/dist/transformer/varname-resolver.d.ts +53 -0
- package/dist/transformer/varname-resolver.d.ts.map +1 -0
- package/dist/transformer/varname-resolver.js +231 -0
- package/dist/transformer/varname-resolver.js.map +1 -0
- package/dist/transformer/whitelist-registry.d.ts +68 -0
- package/dist/transformer/whitelist-registry.d.ts.map +1 -0
- package/dist/transformer/whitelist-registry.js +122 -0
- package/dist/transformer/whitelist-registry.js.map +1 -0
- package/dist/transformer/whitelist-validator.d.ts +59 -0
- package/dist/transformer/whitelist-validator.d.ts.map +1 -0
- package/dist/transformer/whitelist-validator.js +493 -0
- package/dist/transformer/whitelist-validator.js.map +1 -0
- package/dist/types-BXV3vhHS.d.cts +4590 -0
- package/dist/types-BXV3vhHS.d.ts +4590 -0
- package/package.json +121 -0
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import { al as PageOptions, G as GlobalCss, l as CssConfig, aF as Root, b as HtmlTag, at as State } from '../types-BXV3vhHS.cjs';
|
|
2
|
+
export { Z as Computed } from '../types-BXV3vhHS.cjs';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* `app()` ファクトリに渡すオプション。
|
|
6
|
+
*
|
|
7
|
+
* `PageOptions`(title / lang / description / viewport / charset)の全フィールドを包含し、
|
|
8
|
+
* インタラクティブアプリ固有の `wrapDOMReady` を追加する。
|
|
9
|
+
*
|
|
10
|
+
* デフォルト値は `app()` ファクトリ側で適用される:
|
|
11
|
+
* - `charset`: `"UTF-8"`
|
|
12
|
+
* - `lang`: `"en"`
|
|
13
|
+
* - `wrapDOMReady`: `false`
|
|
14
|
+
*
|
|
15
|
+
* Requirements: 1.1, 1.2, 3.2
|
|
16
|
+
*/
|
|
17
|
+
interface AppOptions extends PageOptions {
|
|
18
|
+
/** 生成 JS を `DOMContentLoaded` イベントリスナでラップするか(デフォルト: `false`) */
|
|
19
|
+
readonly wrapDOMReady?: boolean;
|
|
20
|
+
/**
|
|
21
|
+
* scoped style より前に注入されるグローバル CSS。
|
|
22
|
+
* `GlobalCss` または `GlobalCss` 配列で複数の rule を一括登録できる
|
|
23
|
+
* (例: theme 変数の `:root` ブロック、CSS リセット、要素セレクタ等)。
|
|
24
|
+
*/
|
|
25
|
+
readonly css?: GlobalCss | readonly GlobalCss[];
|
|
26
|
+
/**
|
|
27
|
+
* CSS 出力設定(minify モード等)。
|
|
28
|
+
*
|
|
29
|
+
* `new CssConfig({ minifyClassNames: true })` で scoped CSS のクラス名を
|
|
30
|
+
* `_<8hex>` 形式に圧縮できる。省略時は default `CssConfig`(NODE_ENV fallback 適用)。
|
|
31
|
+
*
|
|
32
|
+
* 注意: `Root` constructor 時点で `process.env.NODE_ENV` が読み取られ
|
|
33
|
+
* `minifyClassNames` が確定する。production ビルドでは `NODE_ENV='production'`
|
|
34
|
+
* を `app()` 呼び出し**前**に設定すること。
|
|
35
|
+
*
|
|
36
|
+
* @see CssConfig
|
|
37
|
+
*/
|
|
38
|
+
readonly cssConfig?: CssConfig;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* `app()` ファクトリが返す対話型アプリのファサードオブジェクト。
|
|
43
|
+
*
|
|
44
|
+
* - `state<T>()`: `Root.runtimeContext.state<T>()` に委譲
|
|
45
|
+
* - `exportTo()`: ユーザー content を `<body>` 直下に append し `FileExporter` 経由で出力
|
|
46
|
+
*
|
|
47
|
+
* **再 export 制限**: `exportTo()` は 1 インスタンスにつき 1 回のみ。
|
|
48
|
+
* 2 回目以降は `Error` を throw する。
|
|
49
|
+
*
|
|
50
|
+
* Requirements: 1.3, 2.1, 2.2, 2.3, 3.1, 3.2, 3.3, 4.3
|
|
51
|
+
* Boundary: src/app/app-document.ts
|
|
52
|
+
*/
|
|
53
|
+
/** `exportTo()` に渡せるビュー要素の型 */
|
|
54
|
+
type AppView = HtmlTag;
|
|
55
|
+
declare class AppDocument implements AppContext {
|
|
56
|
+
private readonly _root;
|
|
57
|
+
private readonly _bodyEl;
|
|
58
|
+
private readonly _options;
|
|
59
|
+
private _exported;
|
|
60
|
+
/** @internal `app()` ファクトリからのみ生成される */
|
|
61
|
+
constructor(root: Root, bodyEl: HtmlTag, options: AppOptions);
|
|
62
|
+
/**
|
|
63
|
+
* Req 2.1: リアクティブ state を生成する。
|
|
64
|
+
* `Root.runtimeContext.state()` へ委譲するため、生成された State は
|
|
65
|
+
* 同一ドキュメントの event handler / binding と同じ StateRegistry を参照する。
|
|
66
|
+
*/
|
|
67
|
+
state<T>(initialValue: T): State<T>;
|
|
68
|
+
/**
|
|
69
|
+
* Req 3.1, 3.2, 3.3: content を `<body>` 直下に append し HTML/CSS/JS を出力する。
|
|
70
|
+
*
|
|
71
|
+
* - `<main>` で包まない(SPA 用途のためユーザーの view ツリーをそのまま body 直下に配置)
|
|
72
|
+
* - `wrapDOMReady: true` のとき生成 JS を `DOMContentLoaded` でラップする
|
|
73
|
+
* - 書き込み不可パスでは `ExportableError('invalidPath')` が透過する
|
|
74
|
+
*
|
|
75
|
+
* @throws {Error} 同一 AppDocument で 2 回目以降の呼び出し時
|
|
76
|
+
* @throws {ExportableError} outputPath が無効または書き込み失敗時
|
|
77
|
+
*/
|
|
78
|
+
exportTo(content: AppView | readonly AppView[], outputPath: string): void;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
/**
|
|
82
|
+
* App state 操作の入口インターフェース。
|
|
83
|
+
*
|
|
84
|
+
* @internal 公開 API ではない(1.0.0 で公開面から除去済み)。利用者は `AppDocument`(`app()` の戻り値型)を使うこと。
|
|
85
|
+
* 本インターフェースは `AppDocument implements AppContext` の構造的契約として内部実装で継続使用される。
|
|
86
|
+
* 詳細は [docs/deprecation-policy.md](../../docs/deprecation-policy.md) 参照。
|
|
87
|
+
*/
|
|
88
|
+
interface AppContext {
|
|
89
|
+
/**
|
|
90
|
+
* 初期値 `initialValue` を持つ State<T> を生成する。
|
|
91
|
+
*/
|
|
92
|
+
state<T>(initialValue: T): State<T>;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* インタラクティブアプリのファサードを生成するファクトリ関数。
|
|
96
|
+
*
|
|
97
|
+
* 内部で `Root` を生成し、`html/head/body` の DOM スケルトンを組み立てて
|
|
98
|
+
* `AppDocument` を返す。ユーザーは `Root` / `FileExporter` / `el.html` 等を
|
|
99
|
+
* import する必要がなくなる。
|
|
100
|
+
*
|
|
101
|
+
* デフォルト値:
|
|
102
|
+
* - `charset`: `"UTF-8"`
|
|
103
|
+
* - `lang`: `"en"`
|
|
104
|
+
* - `wrapDOMReady`: `false`
|
|
105
|
+
*
|
|
106
|
+
* `AppDocument` は `AppContext` の構造的サブタイプのため、
|
|
107
|
+
* 既存の `const ctx: AppContext = app(); ctx.state(0)` は変更不要。
|
|
108
|
+
*
|
|
109
|
+
* Requirements: 1.1, 1.2, 1.3, 1.4, 4.3
|
|
110
|
+
* Boundary: src/app/app.ts
|
|
111
|
+
*/
|
|
112
|
+
declare function app(): AppDocument;
|
|
113
|
+
declare function app(options: AppOptions): AppDocument;
|
|
114
|
+
|
|
115
|
+
export { AppDocument, type AppOptions, type AppView, State, app };
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import { al as PageOptions, G as GlobalCss, l as CssConfig, aF as Root, b as HtmlTag, at as State } from '../types-BXV3vhHS.js';
|
|
2
|
+
export { Z as Computed } from '../types-BXV3vhHS.js';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* `app()` ファクトリに渡すオプション。
|
|
6
|
+
*
|
|
7
|
+
* `PageOptions`(title / lang / description / viewport / charset)の全フィールドを包含し、
|
|
8
|
+
* インタラクティブアプリ固有の `wrapDOMReady` を追加する。
|
|
9
|
+
*
|
|
10
|
+
* デフォルト値は `app()` ファクトリ側で適用される:
|
|
11
|
+
* - `charset`: `"UTF-8"`
|
|
12
|
+
* - `lang`: `"en"`
|
|
13
|
+
* - `wrapDOMReady`: `false`
|
|
14
|
+
*
|
|
15
|
+
* Requirements: 1.1, 1.2, 3.2
|
|
16
|
+
*/
|
|
17
|
+
interface AppOptions extends PageOptions {
|
|
18
|
+
/** 生成 JS を `DOMContentLoaded` イベントリスナでラップするか(デフォルト: `false`) */
|
|
19
|
+
readonly wrapDOMReady?: boolean;
|
|
20
|
+
/**
|
|
21
|
+
* scoped style より前に注入されるグローバル CSS。
|
|
22
|
+
* `GlobalCss` または `GlobalCss` 配列で複数の rule を一括登録できる
|
|
23
|
+
* (例: theme 変数の `:root` ブロック、CSS リセット、要素セレクタ等)。
|
|
24
|
+
*/
|
|
25
|
+
readonly css?: GlobalCss | readonly GlobalCss[];
|
|
26
|
+
/**
|
|
27
|
+
* CSS 出力設定(minify モード等)。
|
|
28
|
+
*
|
|
29
|
+
* `new CssConfig({ minifyClassNames: true })` で scoped CSS のクラス名を
|
|
30
|
+
* `_<8hex>` 形式に圧縮できる。省略時は default `CssConfig`(NODE_ENV fallback 適用)。
|
|
31
|
+
*
|
|
32
|
+
* 注意: `Root` constructor 時点で `process.env.NODE_ENV` が読み取られ
|
|
33
|
+
* `minifyClassNames` が確定する。production ビルドでは `NODE_ENV='production'`
|
|
34
|
+
* を `app()` 呼び出し**前**に設定すること。
|
|
35
|
+
*
|
|
36
|
+
* @see CssConfig
|
|
37
|
+
*/
|
|
38
|
+
readonly cssConfig?: CssConfig;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* `app()` ファクトリが返す対話型アプリのファサードオブジェクト。
|
|
43
|
+
*
|
|
44
|
+
* - `state<T>()`: `Root.runtimeContext.state<T>()` に委譲
|
|
45
|
+
* - `exportTo()`: ユーザー content を `<body>` 直下に append し `FileExporter` 経由で出力
|
|
46
|
+
*
|
|
47
|
+
* **再 export 制限**: `exportTo()` は 1 インスタンスにつき 1 回のみ。
|
|
48
|
+
* 2 回目以降は `Error` を throw する。
|
|
49
|
+
*
|
|
50
|
+
* Requirements: 1.3, 2.1, 2.2, 2.3, 3.1, 3.2, 3.3, 4.3
|
|
51
|
+
* Boundary: src/app/app-document.ts
|
|
52
|
+
*/
|
|
53
|
+
/** `exportTo()` に渡せるビュー要素の型 */
|
|
54
|
+
type AppView = HtmlTag;
|
|
55
|
+
declare class AppDocument implements AppContext {
|
|
56
|
+
private readonly _root;
|
|
57
|
+
private readonly _bodyEl;
|
|
58
|
+
private readonly _options;
|
|
59
|
+
private _exported;
|
|
60
|
+
/** @internal `app()` ファクトリからのみ生成される */
|
|
61
|
+
constructor(root: Root, bodyEl: HtmlTag, options: AppOptions);
|
|
62
|
+
/**
|
|
63
|
+
* Req 2.1: リアクティブ state を生成する。
|
|
64
|
+
* `Root.runtimeContext.state()` へ委譲するため、生成された State は
|
|
65
|
+
* 同一ドキュメントの event handler / binding と同じ StateRegistry を参照する。
|
|
66
|
+
*/
|
|
67
|
+
state<T>(initialValue: T): State<T>;
|
|
68
|
+
/**
|
|
69
|
+
* Req 3.1, 3.2, 3.3: content を `<body>` 直下に append し HTML/CSS/JS を出力する。
|
|
70
|
+
*
|
|
71
|
+
* - `<main>` で包まない(SPA 用途のためユーザーの view ツリーをそのまま body 直下に配置)
|
|
72
|
+
* - `wrapDOMReady: true` のとき生成 JS を `DOMContentLoaded` でラップする
|
|
73
|
+
* - 書き込み不可パスでは `ExportableError('invalidPath')` が透過する
|
|
74
|
+
*
|
|
75
|
+
* @throws {Error} 同一 AppDocument で 2 回目以降の呼び出し時
|
|
76
|
+
* @throws {ExportableError} outputPath が無効または書き込み失敗時
|
|
77
|
+
*/
|
|
78
|
+
exportTo(content: AppView | readonly AppView[], outputPath: string): void;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
/**
|
|
82
|
+
* App state 操作の入口インターフェース。
|
|
83
|
+
*
|
|
84
|
+
* @internal 公開 API ではない(1.0.0 で公開面から除去済み)。利用者は `AppDocument`(`app()` の戻り値型)を使うこと。
|
|
85
|
+
* 本インターフェースは `AppDocument implements AppContext` の構造的契約として内部実装で継続使用される。
|
|
86
|
+
* 詳細は [docs/deprecation-policy.md](../../docs/deprecation-policy.md) 参照。
|
|
87
|
+
*/
|
|
88
|
+
interface AppContext {
|
|
89
|
+
/**
|
|
90
|
+
* 初期値 `initialValue` を持つ State<T> を生成する。
|
|
91
|
+
*/
|
|
92
|
+
state<T>(initialValue: T): State<T>;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* インタラクティブアプリのファサードを生成するファクトリ関数。
|
|
96
|
+
*
|
|
97
|
+
* 内部で `Root` を生成し、`html/head/body` の DOM スケルトンを組み立てて
|
|
98
|
+
* `AppDocument` を返す。ユーザーは `Root` / `FileExporter` / `el.html` 等を
|
|
99
|
+
* import する必要がなくなる。
|
|
100
|
+
*
|
|
101
|
+
* デフォルト値:
|
|
102
|
+
* - `charset`: `"UTF-8"`
|
|
103
|
+
* - `lang`: `"en"`
|
|
104
|
+
* - `wrapDOMReady`: `false`
|
|
105
|
+
*
|
|
106
|
+
* `AppDocument` は `AppContext` の構造的サブタイプのため、
|
|
107
|
+
* 既存の `const ctx: AppContext = app(); ctx.state(0)` は変更不要。
|
|
108
|
+
*
|
|
109
|
+
* Requirements: 1.1, 1.2, 1.3, 1.4, 4.3
|
|
110
|
+
* Boundary: src/app/app.ts
|
|
111
|
+
*/
|
|
112
|
+
declare function app(): AppDocument;
|
|
113
|
+
declare function app(options: AppOptions): AppDocument;
|
|
114
|
+
|
|
115
|
+
export { AppDocument, type AppOptions, type AppView, State, app };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|