@wcstack/state 3.2.0 → 3.3.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 +106 -76
- package/README.md +107 -77
- package/dist/auto.min.js +1 -1
- package/dist/auto.min.js.map +1 -1
- package/dist/index.d.ts +45 -8
- package/dist/index.esm.js +1 -1
- package/dist/index.esm.js.map +1 -1
- package/dist/manifest.d.ts +28 -5
- package/dist/manifest.esm.js +253 -246
- package/dist/parser.d.ts +16 -2
- package/dist/parser.esm.js +223 -50
- package/dist/split/chunks/binder.js +1 -1
- package/dist/split/chunks/binder.js.map +1 -1
- package/dist/split/chunks/checkDependency.js +1 -1
- package/dist/split/chunks/declarationAliases.js +1 -1
- package/dist/split/chunks/declarationAliases.js.map +1 -1
- package/dist/split/chunks/declarationHooks.js +2 -0
- package/dist/split/chunks/declarationHooks.js.map +1 -0
- package/dist/split/chunks/featureBridge.js +2 -0
- package/dist/split/chunks/featureBridge.js.map +1 -0
- package/dist/split/chunks/filterRegistry.js +1 -1
- package/dist/split/chunks/filterRegistry.js.map +1 -1
- package/dist/split/chunks/getAllPropertyDescriptors.js +1 -1
- package/dist/split/chunks/getAllPropertyDescriptors.js.map +1 -1
- package/dist/split/chunks/lifecycleHooks.js +1 -1
- package/dist/split/chunks/pathDiagnostics.js +1 -1
- package/dist/split/chunks/pathDiagnostics.js.map +1 -1
- package/dist/split/chunks/registerComponents.js +1 -1
- package/dist/split/chunks/registerComponents.js.map +1 -1
- package/dist/split/chunks/setAll.js +1 -1
- package/dist/split/chunks/setAll.js.map +1 -1
- package/dist/split/chunks/version.js +1 -1
- package/dist/split/core.d.ts +10 -2
- package/dist/split/core.js +1 -1
- package/dist/split/core.js.map +1 -1
- package/dist/split/features/devtools.js +1 -1
- package/dist/split/features/devtools.js.map +1 -1
- package/dist/split/features/diagnostics.js +1 -1
- package/dist/split/features/diagnostics.js.map +1 -1
- package/dist/split/features/formats.js +1 -1
- package/dist/split/features/formats.js.map +1 -1
- package/dist/split/features/recursion.js +1 -1
- package/dist/split/features/recursion.js.map +1 -1
- package/dist/split/features/scopes.js +1 -1
- package/dist/split/features/scopes.js.map +1 -1
- package/dist/split/features/ssr.js +1 -1
- package/dist/split/features/ssr.js.map +1 -1
- package/dist/split/features/temporal.js +1 -1
- package/dist/split/features/temporal.js.map +1 -1
- package/dist/wcs-manifest.json +36 -21
- package/package.json +1 -1
- package/dist/split/chunks/mount.js +0 -2
- package/dist/split/chunks/mount.js.map +0 -1
- package/dist/split/chunks/watchRuntime.js +0 -2
- package/dist/split/chunks/watchRuntime.js.map +0 -1
package/dist/index.d.ts
CHANGED
|
@@ -45,7 +45,6 @@ interface ILoopContextStack {
|
|
|
45
45
|
declare const setLoopContextSymbol: unique symbol;
|
|
46
46
|
declare const getByAddressSymbol: unique symbol;
|
|
47
47
|
declare const hasByAddressSymbol: unique symbol;
|
|
48
|
-
declare const setByAddressSymbol: unique symbol;
|
|
49
48
|
declare const connectedCallbackSymbol: unique symbol;
|
|
50
49
|
declare const disconnectedCallbackSymbol: unique symbol;
|
|
51
50
|
declare const updatedCallbackSymbol: unique symbol;
|
|
@@ -84,7 +83,6 @@ interface IStateProxy extends IState {
|
|
|
84
83
|
[setLoopContextSymbol](loopContext: ILoopContext | null, callback: () => any): any;
|
|
85
84
|
[getByAddressSymbol](address: IStateAddress): any;
|
|
86
85
|
[hasByAddressSymbol](address: IStateAddress): boolean;
|
|
87
|
-
[setByAddressSymbol](address: IStateAddress, value: any): void;
|
|
88
86
|
[connectedCallbackSymbol](): Promise<void>;
|
|
89
87
|
[disconnectedCallbackSymbol](): void;
|
|
90
88
|
[updatedCallbackSymbol](updatedAbsAddressList: IAbsoluteStateAddress[]): void;
|
|
@@ -165,6 +163,16 @@ type WrittenHook = (stateElement: IStateElement, pathInfo: IPathInfo, detail?: {
|
|
|
165
163
|
type SwappedHook = (stateElement: IStateElement, elementAbsAddress: IAbsoluteStateAddress, displacedAbsAddress: IAbsoluteStateAddress) => void;
|
|
166
164
|
type GetHook = (handler: IStateHandler, prop: string, receiver: any, target: object) => unknown;
|
|
167
165
|
type IndexShiftHook = (handler: IStateHandler, lastAddress: IStateAddress) => number;
|
|
166
|
+
/**
|
|
167
|
+
* ハンドラが受け取る添字の段数を決める(`event/handler.ts`)。
|
|
168
|
+
*
|
|
169
|
+
* **合成は未定義** — この hook は畳み込み(前の hook の結果が次の `wildcardCount` になる)で
|
|
170
|
+
* 呼ばれるが、現行唯一の実装(`webComponent/addressHooks.ts` の scopes)は「記録が引けて
|
|
171
|
+
* shift が無ければ 0」を返す**吸収型**で、可換でも結合的でもない。2 つ目の実装が足されると
|
|
172
|
+
* `0 - shift` のような負値になりうる。**実装は 1 つに保つこと**。2 つ目が要るなら、先に
|
|
173
|
+
* 「答えを持たない hook は次へ渡す」規約(`NOT_HANDLED` を返す形。`read` / `write` と同じ)
|
|
174
|
+
* へ寄せてから足す。
|
|
175
|
+
*/
|
|
168
176
|
type HandlerScopeHook = (stateElement: IStateElement, node: Node, rootNode: Node, loopContext: ILoopContext, wildcardCount: number) => number;
|
|
169
177
|
type UpdatedHook = (stateElement: IStateElement, refs: IAbsoluteStateAddress[], receiver: any) => void;
|
|
170
178
|
type SuppressPathDiagnosticHook = (stateElement: IStateElement, path: string) => boolean;
|
|
@@ -874,7 +882,12 @@ declare class Ssr extends HTMLElementBase implements ISsrElement {
|
|
|
874
882
|
* wcs-state 要素から $ プレフィックスや関数を除いたデータを抽出する。
|
|
875
883
|
*/
|
|
876
884
|
static extractStateData(stateEl: Element): Record<string, any>;
|
|
877
|
-
|
|
885
|
+
/**
|
|
886
|
+
* @param scanRoot このスナップショットが属するツリー(既定は `ssrEl` の document)。
|
|
887
|
+
* テンプレートと props はここから到達できるものだけを載せる — モジュール寿命の台帳に
|
|
888
|
+
* 残った**別のレンダリング**の分を混ぜないため(リクエスト間のデータ漏れ)。
|
|
889
|
+
*/
|
|
890
|
+
static buildContent(ssrEl: Element, stateData: Record<string, any>, scanRoot?: Node): void;
|
|
878
891
|
/**
|
|
879
892
|
* SSR ブロック境界コメント (@@wcs-*-start/end) を除去する
|
|
880
893
|
*/
|
|
@@ -1235,8 +1248,23 @@ interface IFilterMeta {
|
|
|
1235
1248
|
/** 組み込みフィルタ名 → 構造化メタデータ。キー集合は builtinFilters と一致しなければならない。 */
|
|
1236
1249
|
declare const builtinFilterMeta: Record<string, IFilterMeta>;
|
|
1237
1250
|
|
|
1238
|
-
/**
|
|
1239
|
-
|
|
1251
|
+
/**
|
|
1252
|
+
* filters/filterAliases.ts — 組み込みフィルタの旧名 → 正式名(要件 B12・docs/state-3x-naming.ja.md V1〜V9)。
|
|
1253
|
+
*
|
|
1254
|
+
* 旧名は 3.x の間エイリアスとして残り、4.0 で外す(D4)。解決は登録簿(core/filterRegistry)が行い、
|
|
1255
|
+
* 実装・引数の個数・メタデータは正式名だけが持つ。formats の install と manifest(tooling)の両方が読むので、
|
|
1256
|
+
* 実装にもメタデータにも依存しない小さな表として独立させている。
|
|
1257
|
+
*/
|
|
1258
|
+
declare const builtinFilterAliases: Readonly<Record<string, string>>;
|
|
1259
|
+
|
|
1260
|
+
/**
|
|
1261
|
+
* マニフェストのバージョン(構造を変えたら上げる)。
|
|
1262
|
+
*
|
|
1263
|
+
* 3.1 で `syntax.bindingTypes.explicitPropertyPrefix`、3.2 で `filterAliases`、
|
|
1264
|
+
* 3.x の次で `declarationAliases` / `apiAliases` を足したので 2。
|
|
1265
|
+
* 消費側(vscode-wcs)はまだこの定数を参照していないが、公開している以上ドリフトさせない。
|
|
1266
|
+
*/
|
|
1267
|
+
declare const WCS_MANIFEST_VERSION = 2;
|
|
1240
1268
|
interface IWcsManifest {
|
|
1241
1269
|
version: number;
|
|
1242
1270
|
syntax: {
|
|
@@ -1301,9 +1329,18 @@ interface IWcsManifest {
|
|
|
1301
1329
|
filterMeta: Record<string, IFilterMeta>;
|
|
1302
1330
|
/** 組み込みフィルタの旧名 → 正式名(要件 B12)。旧名も解決するが、ツールは正式名を提案する */
|
|
1303
1331
|
filterAliases: Readonly<Record<string, string>>;
|
|
1304
|
-
/**
|
|
1332
|
+
/**
|
|
1333
|
+
* 宣言キーの旧名 → 正式名(要件 B12。`$updatedCallback` → `$renderedCallback`、
|
|
1334
|
+
* `$streams` → `$stream`)。ランタイムは旧名も受けるが、ツールは正式名を提案する。
|
|
1335
|
+
* `reservedLifecycle` / `reservedStateApi` は**正式名だけ**なので、旧名が予約かどうかは
|
|
1336
|
+
* この表と併せて判断する
|
|
1337
|
+
*/
|
|
1338
|
+
declarationAliases: Readonly<Record<string, string>>;
|
|
1339
|
+
/** state API の旧名 → 正式名(`$trackDependency` → `$dependOn` 等、要件 B12) */
|
|
1340
|
+
apiAliases: Readonly<Record<string, string>>;
|
|
1341
|
+
/** 予約ライフサイクルフック名(正式名のみ。旧名は `declarationAliases` を見る) */
|
|
1305
1342
|
reservedLifecycle: readonly string[];
|
|
1306
|
-
/** 予約 state API(プロトコル系の `$`
|
|
1343
|
+
/** 予約 state API(プロトコル系の `$` 名前空間。正式名のみ) */
|
|
1307
1344
|
reservedStateApi: readonly string[];
|
|
1308
1345
|
}
|
|
1309
1346
|
/** 機械可読な単一正本を返す。vscode-wcs はこれを消費する想定。 */
|
|
@@ -1824,5 +1861,5 @@ declare global {
|
|
|
1824
1861
|
}
|
|
1825
1862
|
}
|
|
1826
1863
|
|
|
1827
|
-
export { Ssr, TRUSTED_TYPES_POLICY_SLOT, VERSION, WCS_MANIFEST_VERSION, analyzeContract, bootstrapState, buildBindings, builtinFilterMeta, defineState, getBindingsReady, getConfig, getTrustedTypesPolicy, getWcsManifest, setTrustedTypesPolicy };
|
|
1864
|
+
export { Ssr, TRUSTED_TYPES_POLICY_SLOT, VERSION, WCS_MANIFEST_VERSION, analyzeContract, bootstrapState, buildBindings, builtinFilterAliases, builtinFilterMeta, defineState, getBindingsReady, getConfig, getTrustedTypesPolicy, getWcsManifest, setTrustedTypesPolicy };
|
|
1828
1865
|
export type { ContractEvent, FilterArgType, FilterResultType, IBindingErrorInfo, IContractManifest, IFilterMeta, ISsrElement, IWcsManifest, IWcsTrustedTypesPolicy, IWritableConfig, IWritableTagNames, WcsPathValue, WcsPaths, WcsStateApi, WcsThis };
|