@wcstack/typescript 2.2.0 → 2.4.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/dist/index.esm.js +1 -1
- package/dist/schema-core.cjs +1674 -224
- package/dist/tsc-core.cjs +32 -2
- package/dist/wcs-schema.mjs +1 -1
- package/dist/wcs-tsc.mjs +1 -1
- package/package.json +1 -1
package/dist/tsc-core.cjs
CHANGED
|
@@ -215,8 +215,23 @@ interface WcsStateApi {
|
|
|
215
215
|
readonly $1: number; readonly $2: number; readonly $3: number;
|
|
216
216
|
readonly $4: number; readonly $5: number; readonly $6: number;
|
|
217
217
|
readonly $7: number; readonly $8: number; readonly $9: number;
|
|
218
|
+
// $recursion \u5BA3\u8A00\u6E08\u307F\u306E\u518D\u5E30\u30D1\u30B9\uFF08\`nodes.**.total\`\uFF09\u3002\u6DF1\u3055\u306E\u65CF\u306A\u306E\u3067 \`_WcsPaths\` \u306E
|
|
219
|
+
// \u6709\u9650\u5C55\u958B\u306B\u306F\u73FE\u308C\u305A\u3001getter \u306E\u30AD\u30FC\u306B\u66F8\u3044\u305F 1 \u672C\u3057\u304B T \u306B\u73FE\u308C\u306A\u3044\u3002\u30D1\u30BF\u30FC\u30F3\u7D22\u5F15\u3067
|
|
220
|
+
// \u300C\`**\` \u3092\u542B\u3080\u30AD\u30FC\u306F\u8AAD\u3081\u308B\u300D\u3068\u3060\u3051\u8A00\u3046\uFF08\u578B\u306F any \u2014 \u6DF1\u3055\u3092\u578B\u3067\u8868\u305B\u306A\u3044\u4EE5\u4E0A\u3001\u5024\u306E\u578B\u3082
|
|
221
|
+
// \u8FBF\u308C\u306A\u3044\uFF09\u3002\u30D1\u30BF\u30FC\u30F3\u306F \`**\` \u3092\u5FC5\u305A\u542B\u3080\u306E\u3067\u3001\u901A\u5E38\u306E\u30C9\u30C3\u30C8\u30D1\u30B9\u306E\u578B\u4ED8\u3051\u306F\u640D\u306A\u308F\u306A\u3044\u3002
|
|
222
|
+
readonly [key: \`\${string}.**.\${string}\`]: any;
|
|
223
|
+
// \u7D20\u306E \`nodes.**\`\uFF08\u518D\u5E30 getter \u306E\u4E2D\u3067\u30CE\u30FC\u30C9\u81EA\u8EAB\u306B\u675F\u7E1B\u3055\u308C\u308B\u8AAD\u307F\uFF09\u306F \`.**.\` \u3092\u542B\u307E\u306A\u3044\u306E\u3067
|
|
224
|
+
// \u672B\u5C3E\u304C \`.**\` \u306E\u30AD\u30FC\u306B\u3082\u540C\u3058\u7D22\u5F15\u3092\u7F6E\u304F\uFF08@wcstack/state \u306E defineState \u3068\u5BFE\uFF09\u3002
|
|
225
|
+
readonly [key: \`\${string}.**\`]: any;
|
|
218
226
|
}
|
|
219
|
-
|
|
227
|
+
// $scan \u306E\u51FA\u529B\u3068 $streams \u306E\u5024\u306F\u3001\u30E9\u30F3\u30BF\u30A4\u30E0\u304C\u5BA3\u8A00\u30AD\u30FC\u306E\u540D\u524D\u3067\u5B9F\u4F53\u5316\u3059\u308B\u30D7\u30ED\u30D1\u30C6\u30A3\u3002T \u306B\u306F\u5BA3\u8A00
|
|
228
|
+
// \u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u306E\u4E2D\u306B\u3057\u304B\u73FE\u308C\u306A\u3044\u306E\u3067\u3001getter \u3084\u30E1\u30BD\u30C3\u30C9\u306E this \u304B\u3089\u8AAD\u3081\u308B\u3088\u3046 any \u3067\u5199\u3059\u3002initial \u306E
|
|
229
|
+
// \u578B\u306F\u4F7F\u308F\u306A\u3044 \u2014 \u7A7A\u914D\u5217\u306E initial \u304C never[] \u306B\u306A\u308A\u3001\u6B63\u3057\u3044\u8AAD\u307F\uFF08\u8981\u7D20\u306E\u30D7\u30ED\u30D1\u30C6\u30A3\uFF09\u307E\u3067\u578B\u30A8\u30E9\u30FC\u306B\u306A\u308B\u305F\u3081\u3002
|
|
230
|
+
// T \u306B\u540C\u540D\u306E\u30D7\u30ED\u30D1\u30C6\u30A3\u3092\u660E\u793A\u7684\u306B\u4E8B\u524D\u5BA3\u8A00\u3057\u3066\u3044\u308C\u3070\u5199\u3055\u306A\u3044\uFF08\u4EA4\u5DEE\u3067\u305D\u306E\u578B\u307E\u3067 any \u306B\u6F70\u3055\u306A\u3044\u305F\u3081\uFF09\u3002
|
|
231
|
+
type _WcsDeclaredValues<T> =
|
|
232
|
+
(T extends { $scan: infer S } ? { [K in Exclude<keyof S & string, keyof T>]: any } : {}) &
|
|
233
|
+
(T extends { $streams: infer S } ? { [K in Exclude<keyof S & string, keyof T>]: any } : {});
|
|
234
|
+
type _WcsThis<T> = T & WcsStateApi & _WcsPathAccessor<T> & _WcsDeclaredValues<T>;
|
|
220
235
|
// $listKeys: { "<listPath>": "<field>" | (row) => key }\uFF08list/listKeys.ts\uFF09\u3002
|
|
221
236
|
// \u30AD\u30FC\u6307\u5B9A\u306E\u95A2\u6570\u5F15\u6570\u306B\u6587\u8108\u578B\u3092\u4E0E\u3048\u308B\u305F\u3081\u3060\u3051\u306E\u5BA3\u8A00\uFF08noImplicitAny \u4E0B\u306E\u507D\u30A8\u30E9\u30FC\u56DE\u907F\uFF09\u3002
|
|
222
237
|
type _WcsListKeys = Record<string, string | ((row: any) => unknown)>;
|
|
@@ -224,8 +239,23 @@ type _WcsListKeys = Record<string, string | ((row: any) => unknown)>;
|
|
|
224
239
|
// \u30CF\u30F3\u30C9\u30E9\u5F15\u6570\u306B\u6587\u8108\u578B\u3092\u4E0E\u3048\u308B\u305F\u3081\u3060\u3051\u306E\u5BA3\u8A00\uFF08$listKeys \u3068\u540C\u3058\u7406\u7531\uFF09\u3002
|
|
225
240
|
// this \u306F ThisType<_WcsThis<T>> \u306B\u3088\u308A state \u578B\u306B\u306A\u308B\u3002
|
|
226
241
|
type _WcsWatch = Record<string, (cur: any, prev: any, ...indexes: number[]) => void>;
|
|
242
|
+
// $scan: { "<output>": { from | on, initial, fold, resetOn? } }\uFF08scan/processScanDeclaration.ts\uFF09\u3002
|
|
243
|
+
// fold \u306E\u5F15\u6570\u306B\u6587\u8108\u578B\u3092\u4E0E\u3048\u308B\u305F\u3081\u3060\u3051\u306E\u5BA3\u8A00\u3002from \u3068 on \u3067\u7B2C 2 \u5F15\u6570\u306E\u610F\u5473\u304C\u5909\u308F\u308B\uFF08cur \u304B event\uFF09\u306E\u3067
|
|
244
|
+
// \u5F15\u6570\u306F any \u306B\u5012\u3059\u3002fold \u306B this \u306F\u6E21\u3089\u306A\u3044\uFF08\u30E9\u30F3\u30BF\u30A4\u30E0\u306F this \u7121\u3057\u3067\u547C\u3076\uFF09\u306E\u3067 this: void \u3068\u66F8\u304F \u2014
|
|
245
|
+
// \u66F8\u304B\u306A\u3044\u3068 defineState \u306E ThisType \u304C\u30E1\u30BD\u30C3\u30C9\u5F62\u306E fold \u306B\u3082 state \u578B\u306E this \u3092\u4E0E\u3048\u3066\u3057\u307E\u3046\u3002
|
|
246
|
+
type _WcsScan = Record<string, {
|
|
247
|
+
from?: string;
|
|
248
|
+
on?: string;
|
|
249
|
+
initial: any;
|
|
250
|
+
fold: (this: void, acc: any, ...args: any[]) => any;
|
|
251
|
+
resetOn?: string[];
|
|
252
|
+
}>;
|
|
253
|
+
// $recursion: { "<anchor>": "<repeat>" }\uFF08recursion/declaration.ts\uFF09\u3002\u521D\u7248\u306F\u5358\u4E00\u306E\u81EA\u5DF1\u518D\u5E30
|
|
254
|
+
// \u306E\u307F\u3067\u3001\u30A2\u30F3\u30AB\u30FC\u3082\u53CD\u5FA9\u30B5\u30D6\u30D1\u30B9\u3082\u300C\u56FA\u5B9A\u30D7\u30ED\u30D1\u30C6\u30A3\u5217 + \u672B\u5C3E\u306E .*\u300D\u306B\u9650\u308B\u3002\u5F62\u306E\u691C\u8A3C\u306F
|
|
255
|
+
// service/recursionValidator.ts\uFF08wcs/recursion-declaration-invalid\uFF09\u304C\u62C5\u3046\u3002
|
|
256
|
+
type _WcsRecursion = Record<string, string>;
|
|
227
257
|
function defineState<T extends Record<string, any>>(
|
|
228
|
-
def: T & { $listKeys?: _WcsListKeys; $watch?: _WcsWatch } & ThisType<_WcsThis<T>>
|
|
258
|
+
def: T & { $listKeys?: _WcsListKeys; $watch?: _WcsWatch; $scan?: _WcsScan; $recursion?: _WcsRecursion } & ThisType<_WcsThis<T>>
|
|
229
259
|
): T { return def; }
|
|
230
260
|
// --- end preamble ---
|
|
231
261
|
`;
|
package/dist/wcs-schema.mjs
CHANGED
package/dist/wcs-tsc.mjs
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wcstack/typescript",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.4.0",
|
|
4
4
|
"description": "TypeScript tooling for wcstack apps: wcs-schema generates the sidecar stateSchema from a typed state file, so wcs-validate checks data-wcs paths against real types in CI and every editor.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.esm.js",
|