@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/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
- type _WcsThis<T> = T & WcsStateApi & _WcsPathAccessor<T>;
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
  `;
@@ -567,7 +567,7 @@ function loadSchemaCore() {
567
567
  return cached;
568
568
  }
569
569
 
570
- var version = "2.2.0";
570
+ var version = "2.4.0";
571
571
  var pkg = {
572
572
  version: version};
573
573
 
package/dist/wcs-tsc.mjs CHANGED
@@ -5,7 +5,7 @@ import { tmpdir } from 'node:os';
5
5
  import { dirname, join, isAbsolute, resolve, basename } from 'node:path';
6
6
  import { fileURLToPath } from 'node:url';
7
7
 
8
- var version = "2.2.0";
8
+ var version = "2.4.0";
9
9
  var pkg = {
10
10
  version: version};
11
11
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wcstack/typescript",
3
- "version": "2.2.0",
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",