behavior-contracts 0.5.0 → 0.7.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/behavior.d.ts +7 -0
- package/dist/behavior.d.ts.map +1 -1
- package/dist/behavior.js.map +1 -1
- package/dist/builder.d.ts.map +1 -1
- package/dist/builder.js +10 -3
- package/dist/builder.js.map +1 -1
- package/dist/generator/async-plan.d.ts +78 -0
- package/dist/generator/async-plan.d.ts.map +1 -0
- package/dist/generator/async-plan.js +116 -0
- package/dist/generator/async-plan.js.map +1 -0
- package/dist/generator/core.d.ts +30 -9
- package/dist/generator/core.d.ts.map +1 -1
- package/dist/generator/core.js.map +1 -1
- package/dist/generator/{emit-straightline-typed-go.d.ts → emit-shared-go-typed.d.ts} +11 -17
- package/dist/generator/emit-shared-go-typed.d.ts.map +1 -0
- package/dist/generator/emit-shared-go-typed.js +572 -0
- package/dist/generator/emit-shared-go-typed.js.map +1 -0
- package/dist/generator/emit-shared-go.d.ts +29 -0
- package/dist/generator/emit-shared-go.d.ts.map +1 -0
- package/dist/generator/{emit-straightline-go.js → emit-shared-go.js} +2 -34
- package/dist/generator/emit-shared-go.js.map +1 -0
- package/dist/generator/{emit-straightline-typed-rust.d.ts → emit-shared-rust-typed.d.ts} +11 -17
- package/dist/generator/emit-shared-rust-typed.d.ts.map +1 -0
- package/dist/generator/emit-shared-rust-typed.js +576 -0
- package/dist/generator/emit-shared-rust-typed.js.map +1 -0
- package/dist/generator/{emit-straightline-rust.d.ts → emit-shared-rust.d.ts} +1 -36
- package/dist/generator/emit-shared-rust.d.ts.map +1 -0
- package/dist/generator/{emit-straightline-rust.js → emit-shared-rust.js} +2 -16
- package/dist/generator/emit-shared-rust.js.map +1 -0
- package/dist/generator/emit-shared-typescript.d.ts +12 -0
- package/dist/generator/emit-shared-typescript.d.ts.map +1 -0
- package/dist/generator/{emit-straightline-typescript.js → emit-shared-typescript.js} +5 -20
- package/dist/generator/emit-shared-typescript.js.map +1 -0
- package/dist/generator/emit-straightline-typed-typescript.d.ts +1 -1
- package/dist/generator/emit-straightline-typed-typescript.d.ts.map +1 -1
- package/dist/generator/emit-straightline-typed-typescript.js +1 -1
- package/dist/generator/emit-straightline-typed-typescript.js.map +1 -1
- package/dist/generator/emit-typed-native-go.d.ts.map +1 -1
- package/dist/generator/emit-typed-native-go.js +546 -82
- package/dist/generator/emit-typed-native-go.js.map +1 -1
- package/dist/generator/emit-typed-native-rust.d.ts +2 -1
- package/dist/generator/emit-typed-native-rust.d.ts.map +1 -1
- package/dist/generator/emit-typed-native-rust.js +597 -110
- package/dist/generator/emit-typed-native-rust.js.map +1 -1
- package/dist/generator/index.d.ts +2 -12
- package/dist/generator/index.d.ts.map +1 -1
- package/dist/generator/index.js +10 -62
- package/dist/generator/index.js.map +1 -1
- package/dist/generator/native-expr.d.ts +120 -0
- package/dist/generator/native-expr.d.ts.map +1 -0
- package/dist/generator/native-expr.js +456 -0
- package/dist/generator/native-expr.js.map +1 -0
- package/dist/generator/typed.d.ts.map +1 -1
- package/dist/generator/typed.js +8 -0
- package/dist/generator/typed.js.map +1 -1
- package/dist/guard.js +14 -0
- package/dist/guard.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/plan.d.ts +6 -2
- package/dist/plan.d.ts.map +1 -1
- package/dist/plan.js +4 -0
- package/dist/plan.js.map +1 -1
- package/package.json +1 -1
- package/dist/generator/emit-go.d.ts +0 -19
- package/dist/generator/emit-go.d.ts.map +0 -1
- package/dist/generator/emit-go.js +0 -79
- package/dist/generator/emit-go.js.map +0 -1
- package/dist/generator/emit-raw-abi-go.d.ts +0 -45
- package/dist/generator/emit-raw-abi-go.d.ts.map +0 -1
- package/dist/generator/emit-raw-abi-go.js +0 -346
- package/dist/generator/emit-raw-abi-go.js.map +0 -1
- package/dist/generator/emit-raw-abi-rust.d.ts +0 -45
- package/dist/generator/emit-raw-abi-rust.d.ts.map +0 -1
- package/dist/generator/emit-raw-abi-rust.js +0 -380
- package/dist/generator/emit-raw-abi-rust.js.map +0 -1
- package/dist/generator/emit-rust.d.ts +0 -25
- package/dist/generator/emit-rust.d.ts.map +0 -1
- package/dist/generator/emit-rust.js +0 -125
- package/dist/generator/emit-rust.js.map +0 -1
- package/dist/generator/emit-straightline-go.d.ts +0 -60
- package/dist/generator/emit-straightline-go.d.ts.map +0 -1
- package/dist/generator/emit-straightline-go.js.map +0 -1
- package/dist/generator/emit-straightline-native-go.d.ts +0 -54
- package/dist/generator/emit-straightline-native-go.d.ts.map +0 -1
- package/dist/generator/emit-straightline-native-go.js +0 -835
- package/dist/generator/emit-straightline-native-go.js.map +0 -1
- package/dist/generator/emit-straightline-native-rust.d.ts +0 -27
- package/dist/generator/emit-straightline-native-rust.d.ts.map +0 -1
- package/dist/generator/emit-straightline-native-rust.js +0 -624
- package/dist/generator/emit-straightline-native-rust.js.map +0 -1
- package/dist/generator/emit-straightline-php.d.ts +0 -46
- package/dist/generator/emit-straightline-php.d.ts.map +0 -1
- package/dist/generator/emit-straightline-php.js +0 -941
- package/dist/generator/emit-straightline-php.js.map +0 -1
- package/dist/generator/emit-straightline-python.d.ts +0 -36
- package/dist/generator/emit-straightline-python.d.ts.map +0 -1
- package/dist/generator/emit-straightline-python.js +0 -855
- package/dist/generator/emit-straightline-python.js.map +0 -1
- package/dist/generator/emit-straightline-rust.d.ts.map +0 -1
- package/dist/generator/emit-straightline-rust.js.map +0 -1
- package/dist/generator/emit-straightline-typed-go.d.ts.map +0 -1
- package/dist/generator/emit-straightline-typed-go.js +0 -1114
- package/dist/generator/emit-straightline-typed-go.js.map +0 -1
- package/dist/generator/emit-straightline-typed-rust.d.ts.map +0 -1
- package/dist/generator/emit-straightline-typed-rust.js +0 -1155
- package/dist/generator/emit-straightline-typed-rust.js.map +0 -1
- package/dist/generator/emit-straightline-typescript.d.ts +0 -47
- package/dist/generator/emit-straightline-typescript.d.ts.map +0 -1
- package/dist/generator/emit-straightline-typescript.js.map +0 -1
package/dist/behavior.d.ts
CHANGED
|
@@ -44,6 +44,13 @@ export type PortableType = PortableScalarType | {
|
|
|
44
44
|
export interface PortSchema {
|
|
45
45
|
type: string;
|
|
46
46
|
required?: boolean;
|
|
47
|
+
/**
|
|
48
|
+
* `type:"array"`(配列 input port)の **要素の確定型**(可搬型記法・§5.2)。additive・省略可
|
|
49
|
+
* (#108 / bc#101)。map が input 配列を `over` するとき、`$as` 要素の native 型はこの注記から
|
|
50
|
+
* 解決する(BC は推論しない = consumer-interface.md C3。注記が無ければ runtime-free native 化は
|
|
51
|
+
* fail-closed)。可搬型閉集合の検査は body `outType` 等と同一(guard.ts)。省略時は従来と同一。
|
|
52
|
+
*/
|
|
53
|
+
elemType?: PortableType;
|
|
47
54
|
}
|
|
48
55
|
/** 未生成表現の種別(single=null / connection=空 / item / items)。 */
|
|
49
56
|
export interface CatalogOutput {
|
package/dist/behavior.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"behavior.d.ts","sourceRoot":"","sources":["../src/behavior.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,EAAkC,KAAK,KAAK,EAAE,KAAK,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACxF,OAAO,EAGL,KAAK,iBAAiB,EAItB,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,YAAY,EAClB,MAAM,WAAW,CAAC;AAGnB;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,kBAAkB,GAAG,QAAQ,GAAG,KAAK,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;AAC9E,MAAM,MAAM,YAAY,GACpB,kBAAkB,GAClB;IAAE,GAAG,EAAE,YAAY,CAAA;CAAE,GACrB;IAAE,GAAG,EAAE,YAAY,CAAA;CAAE,GACrB;IAAE,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;CAAE,CAAC;AAG1C,8CAA8C;AAC9C,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"behavior.d.ts","sourceRoot":"","sources":["../src/behavior.ts"],"names":[],"mappings":"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"}
|
package/dist/behavior.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"behavior.js","sourceRoot":"","sources":["../src/behavior.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"behavior.js","sourceRoot":"","sources":["../src/behavior.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,EAAE,QAAQ,IAAI,kBAAkB,EAA0B,MAAM,gBAAgB,CAAC;AACxF,OAAO,EACL,OAAO,EACP,YAAY,GAQb,MAAM,WAAW,CAAC;AAiOnB,MAAM,OAAO,eAAgB,SAAQ,KAAK;IACxC,IAAI,CAAsB;IAC1B,YAAY,IAAyB,EAAE,OAAe;QACpD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF;AAED,SAAS,KAAK,CAAC,IAAyB,EAAE,OAAe;IACvD,MAAM,IAAI,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAC3C,CAAC;AAED,8EAA8E;AAC9E,SAAS,QAAQ,CAAC,CAAW;IAC3B,IAAI,KAAK,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAC7B,IAAI,MAAM,IAAI,CAAC;QAAE,OAAO,MAAM,CAAC;IAC/B,IAAI,WAAW,IAAI,CAAC;QAAE,OAAO,cAAc,CAAC;IAC5C,KAAK,CAAC,mBAAmB,EAAE,cAAe,CAAqB,CAAC,EAAE,IAAI,GAAG,gCAAgC,CAAC,CAAC;AAC7G,CAAC;AAED,oDAAoD;AACpD,SAAS,UAAU,CAAC,CAAW;IAC7B,IAAI,KAAK,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC;IACpC,IAAI,MAAM,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;IACtC,OAAO,CAAC,CAAC,MAAM,CAAC;AAClB,CAAC;AAED,sEAAsE;AACtE,SAAS,aAAa,CAAC,CAAW;IAChC,IAAI,KAAK,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC;QAAE,OAAO,SAAS,CAAC;IAChD,OAAO,CAAC,CAAC,SAAS,CAAC;AACrB,CAAC;AAED,SAAS,UAAU,CAAC,CAAW;IAC7B,IAAI,KAAK,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC;IACpC,IAAI,MAAM,IAAI,CAAC;QAAE,OAAO,SAAS,CAAC;IAClC,OAAO,CAAC,CAAC,MAAM,CAAC;AAClB,CAAC;AAED,SAAS,gBAAgB,CAAC,CAAW;IACnC,IAAI,KAAK,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC;IAC1C,IAAI,MAAM,IAAI,CAAC;QAAE,OAAO,SAAS,CAAC;IAClC,OAAO,CAAC,CAAC,YAAY,CAAC;AACxB,CAAC;AAED;;;GAGG;AACH,SAAS,SAAS,CAAC,KAA8B,EAAE,KAAY;IAC7D,MAAM,GAAG,GAA0B,EAAE,CAAC;IACtC,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,GAAG,CAAC,CAAC,CAAC,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACjF,OAAO,GAAG,CAAC;AACb,CAAC;AAED,mDAAmD;AACnD,SAAS,YAAY,CAAC,EAAoB,EAAE,KAAc;IACxD,MAAM,IAAI,GAAG,KAAK;QAChB,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC;QAC7C,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IACrB,IAAI,CAAC,IAAI;QAAE,KAAK,CAAC,eAAe,EAAE,cAAc,KAAK,IAAI,SAAS,mBAAmB,CAAC,CAAC;IACvF,OAAO,IAAI,CAAC;AACd,CAAC;AAED,yEAAyE;AACzE,SAAS,QAAQ,CAAC,IAAgB,EAAE,SAA8B;IAChE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACpB,MAAM,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QAC1B,MAAM,MAAM,GAAG,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QACrE,MAAM,IAAI,GAAW,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC;QAC1C,MAAM,EAAE,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;QAC5B,IAAI,EAAE,KAAK,SAAS;YAAE,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QAC1C,MAAM,EAAE,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAI,EAAE,KAAK,SAAS;YAAE,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QAC7C,MAAM,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QAC1B,IAAI,GAAG,KAAK,SAAS;YAAE,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;QACzC,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC;AAED,gFAAgF;AAChF,SAAS,iBAAiB,CAAC,IAAY,EAAE,CAAQ,EAAE,IAAY;IAC7D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI;QACxC,KAAK,CACH,2BAA2B,EAC3B,QAAQ,IAAI,gEAAgE,IAAI,SAAS,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CACnI,CAAC;IACJ,OAAO,CAAC,CAAC;AACX,CAAC;AAED;;;GAGG;AACH,SAAS,SAAS,CAChB,IAAY,EACZ,IAAY,EACZ,IAAa,EACb,OAAiB,EACjB,SAAkB;IAElB,MAAM,SAAS,GAAY,EAAE,CAAC;IAC9B,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACnB,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3C,IAAI,EAAE,KAAK,IAAI,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC5D,KAAK,CACH,6BAA6B,EAC7B,QAAQ,IAAI,+CAA+C,CAAC,oBAAoB,CACjF,CAAC;YACJ,SAAS,CAAC,IAAI,CAAC,EAAE,GAAI,EAA4B,EAAE,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC3E,CAAC,EAAE,CAAC;QACN,CAAC;aAAM,CAAC;YACN,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,8DAA8D;AAC9D,SAAS,eAAe,CACtB,MAA4B,EAC5B,GAAa,EACb,IAAgB,EAChB,OAA8B;IAE9B,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACtB,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChB,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,YAAY,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QACpF,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,WAAW,CACzB,EAAoB,EACpB,QAAkB,EAClB,QAAe,EAAE,EACjB,KAAc;IAEd,MAAM,IAAI,GAAG,YAAY,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IAErC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IACvB,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC5C,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAE/C,MAAM,GAAG,GAAa,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAEhD,uEAAuE;IACvE,MAAM,OAAO,GAA0B,EAAE,CAAC;IAC1C,MAAM,SAAS,GAAG,GAAU,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAE1D,MAAM,IAAI,GAAS,CAAC,EAAE,EAAE,EAAE;QACxB,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAE,CAAC;QAClC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;QACvB,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QAE5B,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YACpB,kEAAkE;YAClE,MAAM,CAAC,GAAI,IAAiB,CAAC,IAAI,CAAC;YAClC,MAAM,KAAK,GAAG,kBAAkB,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;YAChF,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;QACvB,CAAC;QAED,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;YACnB,MAAM,CAAC,GAAI,IAAgB,CAAC,GAAG,CAAC;YAChC,MAAM,IAAI,GAAG,kBAAkB,CAAC,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;YACrD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;gBACtB,KAAK,CAAC,oBAAoB,EAAE,QAAQ,EAAE,CAAC,EAAE,wCAAwC,CAAC,CAAC;YACrF,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YACtC,IAAI,CAAC,OAAO;gBACV,KAAK,CAAC,mBAAmB,EAAE,cAAc,CAAC,CAAC,SAAS,gCAAgC,CAAC,CAAC;YACxF,MAAM,GAAG,GAAe,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC;YAElE,sFAAsF;YACtF,MAAM,IAAI,GAAG,CAAC,EAAS,EAAE,KAAY,EAAW,EAAE,CAChD,CAAC,CAAC,IAAI,KAAK,SAAS;gBACpB,kBAAkB,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,IAAI,CAAC;YACtE,MAAM,OAAO,GAAa,EAAE,CAAC,CAAC,yCAAyC;YAEvE,IAAI,SAAkB,CAAC;YACvB,IAAI,CAAC,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;gBACvB,4DAA4D;gBAC5D,MAAM,KAAK,GAAY,EAAE,CAAC;gBAC1B,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE;oBACrB,MAAM,KAAK,GAAU,EAAE,GAAG,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;oBACpD,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC;wBAAE,OAAO;oBAC7B,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;oBACtC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,CAAC,CAAC,CAAC;gBACH,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACvB,SAAS,GAAG,EAAE,CAAC,CAAC,wCAAwC;gBAC1D,CAAC;qBAAM,CAAC;oBACN,MAAM,OAAO,GAAG,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,GAAG,CAAC,CAAC;oBACxC,IAAI,OAAO,IAAI,OAAO;wBAAE,OAAO,OAAO,CAAC,CAAC,4BAA4B;oBACpE,SAAS,GAAG,iBAAiB,CAAC,EAAE,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;gBACjE,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,SAAS,GAAG,EAAE,CAAC;gBACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBACrC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;oBACnB,MAAM,KAAK,GAAU,EAAE,GAAG,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;oBACpD,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC;wBAAE,SAAS;oBAC/B,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;oBACxC,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,EAAE,EAAE,GAAG,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;oBACtD,IAAI,OAAO,IAAI,OAAO;wBAAE,OAAO,OAAO,CAAC,CAAC,4BAA4B;oBACpE,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;oBAC3B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,CAAC;YACH,CAAC;YAED,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS;gBAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC;YACnD,OAAO,EAAE,EAAE,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC;QACpE,CAAC;QAED,eAAe;QACf,MAAM,EAAE,GAAG,IAAwB,CAAC;QACpC,MAAM,OAAO,GAAG,QAAQ,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;QACvC,IAAI,CAAC,OAAO;YACV,KAAK,CAAC,mBAAmB,EAAE,cAAc,EAAE,CAAC,SAAS,gCAAgC,CAAC,CAAC;QACzF,MAAM,KAAK,GAAG,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QAC/C,OAAO,OAAO,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC;IACpE,CAAC,CAAC;IAEF,sEAAsE;IACtE,+CAA+C;IAC/C,MAAM,WAAW,GAAS,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE;QACtC,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QAChC,IAAI,IAAI,IAAI,OAAO;YAAE,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,EAAE,CAAC;QACjD,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;IAEF,MAAM,IAAI,GAA6B,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC;IACzD,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;IAE5C,yDAAyD;IACzD,eAAe,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAEhD,qCAAqC;IACrC,OAAO,kBAAkB,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;AACtD,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,EAAoB,EACpB,QAAuB,EACvB,QAAe,EAAE,EACjB,KAAc;IAEd,MAAM,IAAI,GAAG,YAAY,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IAErC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IACvB,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC5C,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAE/C,MAAM,GAAG,GAAa,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAEhD,uEAAuE;IACvE,kDAAkD;IAClD,6CAA6C;IAC7C,MAAM,OAAO,GAA0B,EAAE,CAAC;IAC1C,MAAM,SAAS,GAAG,GAAU,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAE1D,kDAAkD;IAClD,iEAAiE;IACjE,wBAAwB;IACxB,MAAM,IAAI,GAAc,KAAK,EAAE,EAAE,EAAE,EAAE;QACnC,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAE,CAAC;QAClC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;QACvB,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QAE5B,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YACpB,kEAAkE;YAClE,MAAM,CAAC,GAAI,IAAiB,CAAC,IAAI,CAAC;YAClC,MAAM,KAAK,GAAG,kBAAkB,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;YAChF,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;QACvB,CAAC;QAED,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;YACnB,MAAM,CAAC,GAAI,IAAgB,CAAC,GAAG,CAAC;YAChC,MAAM,IAAI,GAAG,kBAAkB,CAAC,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;YACrD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;gBACtB,KAAK,CAAC,oBAAoB,EAAE,QAAQ,EAAE,CAAC,EAAE,wCAAwC,CAAC,CAAC;YACrF,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YACtC,IAAI,CAAC,OAAO;gBACV,KAAK,CAAC,mBAAmB,EAAE,cAAc,CAAC,CAAC,SAAS,gCAAgC,CAAC,CAAC;YACxF,MAAM,GAAG,GAAe,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC;YAElE,sFAAsF;YACtF,MAAM,IAAI,GAAG,CAAC,EAAS,EAAE,KAAY,EAAW,EAAE,CAChD,CAAC,CAAC,IAAI,KAAK,SAAS;gBACpB,kBAAkB,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,IAAI,CAAC;YACtE,MAAM,OAAO,GAAa,EAAE,CAAC,CAAC,yCAAyC;YAEvE,IAAI,SAAkB,CAAC;YACvB,IAAI,CAAC,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;gBACvB,4DAA4D;gBAC5D,MAAM,KAAK,GAAY,EAAE,CAAC;gBAC1B,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE;oBACrB,MAAM,KAAK,GAAU,EAAE,GAAG,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;oBACpD,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC;wBAAE,OAAO;oBAC7B,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;oBACtC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,CAAC,CAAC,CAAC;gBACH,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACvB,SAAS,GAAG,EAAE,CAAC,CAAC,wCAAwC;gBAC1D,CAAC;qBAAM,CAAC;oBACN,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,GAAG,CAAC,CAAC;oBAC9C,IAAI,OAAO,IAAI,OAAO;wBAAE,OAAO,OAAO,CAAC,CAAC,iCAAiC;oBACzE,SAAS,GAAG,iBAAiB,CAAC,EAAE,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;gBACjE,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,SAAS,GAAG,EAAE,CAAC;gBACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBACrC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;oBACnB,MAAM,KAAK,GAAU,EAAE,GAAG,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;oBACpD,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC;wBAAE,SAAS;oBAC/B,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;oBACxC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,KAAK,EAAE,EAAE,GAAG,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;oBAC5D,IAAI,OAAO,IAAI,OAAO;wBAAE,OAAO,OAAO,CAAC,CAAC,iCAAiC;oBACzE,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;oBAC3B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,CAAC;YACH,CAAC;YAED,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS;gBAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC;YACnD,OAAO,EAAE,EAAE,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC;QACpE,CAAC;QAED,eAAe;QACf,MAAM,EAAE,GAAG,IAAwB,CAAC;QACpC,MAAM,OAAO,GAAG,QAAQ,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;QACvC,IAAI,CAAC,OAAO;YACV,KAAK,CAAC,mBAAmB,EAAE,cAAc,EAAE,CAAC,SAAS,gCAAgC,CAAC,CAAC;QACzF,MAAM,KAAK,GAAG,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QAC/C,OAAO,OAAO,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC;IACpE,CAAC,CAAC;IAEF,yDAAyD;IACzD,uDAAuD;IACvD,4CAA4C;IAC5C,MAAM,WAAW,GAAc,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE;QACjD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QACtC,IAAI,IAAI,IAAI,OAAO;YAAE,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,EAAE,CAAC;QACjD,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;IAEF,MAAM,IAAI,GAA6B,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC;IACzD,MAAM,GAAG,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;IAEvD,yDAAyD;IACzD,eAAe,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAEhD,qCAAqC;IACrC,OAAO,kBAAkB,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;AACtD,CAAC"}
|
package/dist/builder.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../src/builder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AACH,OAAO,KAAK,EACV,QAAQ,EACR,OAAO,EACP,YAAY,EACZ,SAAS,EAIT,UAAU,EACX,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAMnD,MAAM,MAAM,kBAAkB,GAC1B,oBAAoB,GACpB,cAAc,GACd,mBAAmB,GACnB,gBAAgB,GAChB,kBAAkB,GAClB,mBAAmB,GACnB,wBAAwB,GACxB,cAAc,GACd,cAAc,GACd,oBAAoB,GACpB,aAAa,GACb,cAAc,CAAC;AAEnB,qBAAa,cAAe,SAAQ,KAAK;IACvC,IAAI,EAAE,kBAAkB,CAAC;gBACb,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM;CAKtD;AAOD,4EAA4E;AAC5E,MAAM,MAAM,iBAAiB,GACzB,wBAAwB,GACxB,cAAc,GACd,cAAc,GACd,oBAAoB,CAAC;AAEzB,MAAM,MAAM,aAAa,GAAG,CAAC,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,KAAK,KAAK,CAAC;AAEhF,6DAA6D;AAC7D,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,GAAG,IAAI,CAM/F;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,YAAY,EACnB,SAAS,EAAE,SAAS,MAAM,EAAE,EAC5B,IAAI,EAAE,aAAa,GAClB,IAAI,CAaN;AAwBD;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,YAAY,EACnB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,IAAI,EAAE,aAAa,GAClB,IAAI,CAYN;AAGD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,GAAG,GAAE,MAAM,EAAO,GAAG,MAAM,EAAE,CAgBvG;AAuBD,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAiE3C;;;;;;GAMG;AACH,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,gCAAgC;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACxC,IAAI,EAAE,SAAS,QAAQ,EAAE,CAAC;IAC1B,kDAAkD;IAClD,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;CACjC;AAED,MAAM,WAAW,+BAA+B;IAC9C;;;OAGG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB,oDAAoD;IACpD,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAuPD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,uBAAuB,EAC7B,IAAI,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAC/C,SAAS,
|
|
1
|
+
{"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../src/builder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AACH,OAAO,KAAK,EACV,QAAQ,EACR,OAAO,EACP,YAAY,EACZ,SAAS,EAIT,UAAU,EACX,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAMnD,MAAM,MAAM,kBAAkB,GAC1B,oBAAoB,GACpB,cAAc,GACd,mBAAmB,GACnB,gBAAgB,GAChB,kBAAkB,GAClB,mBAAmB,GACnB,wBAAwB,GACxB,cAAc,GACd,cAAc,GACd,oBAAoB,GACpB,aAAa,GACb,cAAc,CAAC;AAEnB,qBAAa,cAAe,SAAQ,KAAK;IACvC,IAAI,EAAE,kBAAkB,CAAC;gBACb,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM;CAKtD;AAOD,4EAA4E;AAC5E,MAAM,MAAM,iBAAiB,GACzB,wBAAwB,GACxB,cAAc,GACd,cAAc,GACd,oBAAoB,CAAC;AAEzB,MAAM,MAAM,aAAa,GAAG,CAAC,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,KAAK,KAAK,CAAC;AAEhF,6DAA6D;AAC7D,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,GAAG,IAAI,CAM/F;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,YAAY,EACnB,SAAS,EAAE,SAAS,MAAM,EAAE,EAC5B,IAAI,EAAE,aAAa,GAClB,IAAI,CAaN;AAwBD;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,YAAY,EACnB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,IAAI,EAAE,aAAa,GAClB,IAAI,CAYN;AAGD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,GAAG,GAAE,MAAM,EAAO,GAAG,MAAM,EAAE,CAgBvG;AAuBD,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAiE3C;;;;;;GAMG;AACH,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,gCAAgC;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACxC,IAAI,EAAE,SAAS,QAAQ,EAAE,CAAC;IAC1B,kDAAkD;IAClD,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;CACjC;AAED,MAAM,WAAW,+BAA+B;IAC9C;;;OAGG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB,oDAAoD;IACpD,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAuPD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,uBAAuB,EAC7B,IAAI,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAC/C,SAAS,CAkFX;AAGD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,uBAAuB,EAC7B,OAAO,EAAE,+BAA+B,GACvC,SAAS,CASX"}
|
package/dist/builder.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { cmpCodePoints, FORBIDDEN_OBJECT_KEY } from "./expr-eval.js";
|
|
2
2
|
import { SPEC_VERSIONS } from "./index.js";
|
|
3
|
-
import { assertPortableComponentGraph } from "./guard.js";
|
|
3
|
+
import { assertPortableComponentGraph, assertPortableTypeNotation } from "./guard.js";
|
|
4
4
|
export class BuilderFailure extends Error {
|
|
5
5
|
code;
|
|
6
6
|
constructor(code, message) {
|
|
@@ -194,7 +194,7 @@ const MAP_NODE_KEYS = /* @__PURE__ */ new Set(["id", "map"]);
|
|
|
194
194
|
const MAP_KEYS = /* @__PURE__ */ new Set(["over", "as", "component", "ports", "when", "into", "batched", "parent", "relationKind", "policy"]);
|
|
195
195
|
const COND_NODE_KEYS = /* @__PURE__ */ new Set(["id", "cond"]);
|
|
196
196
|
const COND_KEYS = /* @__PURE__ */ new Set(["if", "then", "else", "parent"]);
|
|
197
|
-
const SCHEMA_KEYS = /* @__PURE__ */ new Set(["type", "required"]);
|
|
197
|
+
const SCHEMA_KEYS = /* @__PURE__ */ new Set(["type", "required", "elemType"]);
|
|
198
198
|
const PLAN_KEYS = /* @__PURE__ */ new Set(["groups", "concurrency"]);
|
|
199
199
|
const RELATION_KINDS = /* @__PURE__ */ new Set(["single", "connection"]);
|
|
200
200
|
const POLICY_KINDS = /* @__PURE__ */ new Set(["fail", "retry", "continue"]);
|
|
@@ -471,7 +471,14 @@ export function buildComponentCore(data, opts) {
|
|
|
471
471
|
bfail("INVALID_DEFINITION", `component '${name}': inputPorts['${k}'].type must be a string`);
|
|
472
472
|
if (s.required !== undefined && typeof s.required !== "boolean")
|
|
473
473
|
bfail("INVALID_DEFINITION", `component '${name}': inputPorts['${k}'].required must be a boolean`);
|
|
474
|
-
|
|
474
|
+
// #108: elemType(`type:"array"` input port の要素型)。additive。存在時のみ可搬型閉集合を検証し、
|
|
475
|
+
// 正規化コピーで持ち回る。array 以外の port に付いていても additive(emitter は array のみ消費)。
|
|
476
|
+
const normalized = s.required !== undefined ? { type: s.type, required: s.required } : { type: s.type };
|
|
477
|
+
if (s.elemType !== undefined) {
|
|
478
|
+
assertPortableTypeNotation(s.elemType, `component '${name}': inputPorts['${k}'].elemType`);
|
|
479
|
+
normalized.elemType = s.elemType;
|
|
480
|
+
}
|
|
481
|
+
inputPorts[k] = normalized;
|
|
475
482
|
}
|
|
476
483
|
}
|
|
477
484
|
// body — pass 1: id の一意性と scope 衝突(runBehavior の flat scope は input と node 結果を
|
package/dist/builder.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../src/builder.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../src/builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* async-plan.ts — the SHARED, LANGUAGE-AGNOSTIC async/sync propagation pass (bc#97 increment 2).
|
|
3
|
+
*
|
|
4
|
+
* # Why this is one pass, not per-emitter logic
|
|
5
|
+
*
|
|
6
|
+
* async/sync is a language-runtime concern that MUST NOT enter the portable IR (a rust-async IR ≠ a go IR
|
|
7
|
+
* — the "one IR → N emitters" invariant would break, exactly the go/rust drift class this epic hit). So
|
|
8
|
+
* async-ness is a codegen INPUT (the consumer declares which TERMINAL handlers do async I/O), and the
|
|
9
|
+
* derived per-node/per-runner `isAsync` is computed HERE, once, from pure graph structure — NOT inside
|
|
10
|
+
* each emitter. Each language emitter then only CONSUMES the annotation:
|
|
11
|
+
* - rust / (future python native) — have async/await → emit `async fn` + `.await` where `isAsync`.
|
|
12
|
+
* - go — no async/await concept → IGNORE the annotation entirely (no-op, blocking calls as today).
|
|
13
|
+
*
|
|
14
|
+
* # The model (issue #97 design, agreed)
|
|
15
|
+
*
|
|
16
|
+
* 1. PER-TERMINAL-HANDLER I/O model. The consumer declares, per terminal node (a leaf op handler —
|
|
17
|
+
* GetItem / Query / BatchGet …), whether that handler does async I/O. The declaration is keyed to the
|
|
18
|
+
* handler's CATALOG COMPONENT name (a consumer implements one handler per leaf op and declares e.g.
|
|
19
|
+
* "my `Query` handler is async"); a body node is an async terminal iff its `component` is declared
|
|
20
|
+
* async. UNSPECIFIED → sync (the neutral floor; runtime-free; biased toward no consumer). No third
|
|
21
|
+
* "pass-through" state.
|
|
22
|
+
* 2. NOT in the IR (see above) — this pass takes the IR + the declaration as separate inputs.
|
|
23
|
+
* 3. NO await nodes in the DAG. The DAG carries resolved values; await is a handler-call-boundary concern
|
|
24
|
+
* emitted by the language emitter, never an IR/DAG node. This pass annotates NODES (call boundaries),
|
|
25
|
+
* it does not rewrite the graph.
|
|
26
|
+
* 4. BOTTOM-UP propagation. A runner (and any intermediate node / parent sub-runner) is async IFF it
|
|
27
|
+
* transitively calls an async terminal handler OR an async sub-runner. Pure / no-I/O nodes stay sync.
|
|
28
|
+
* Mixed sync+async terminals in one async runner is fine (sync handlers are called directly).
|
|
29
|
+
* 5. await placement is DERIVED (by the emitter) from the per-node annotation this pass produces — the
|
|
30
|
+
* emitter awaits an async terminal's future at the call site where its result is consumed.
|
|
31
|
+
*
|
|
32
|
+
* # Bottom-up over sub-runners
|
|
33
|
+
*
|
|
34
|
+
* A covered bc read compiles to ONE flat runner that dispatches only to terminal handlers (`node_*`) —
|
|
35
|
+
* there is no runner→runner call on the covered path today, so `runnerIsAsync` collapses to "any terminal
|
|
36
|
+
* node is async". But the pass is written to be correct if a node ever references another component (a
|
|
37
|
+
* sub-runner): such a node is async iff the referenced component's runner is async (transitive). We fold
|
|
38
|
+
* that in via a fixpoint over the component graph so the SSoT stays valid as coverage grows.
|
|
39
|
+
*/
|
|
40
|
+
import type { ComponentGraphIR } from "../behavior.js";
|
|
41
|
+
import type { IoModel } from "./core.js";
|
|
42
|
+
export type { IoModel };
|
|
43
|
+
/**
|
|
44
|
+
* AsyncPlan — the per-component derived async annotation the emitters consume. `nodeIsAsync(nodeId)` is
|
|
45
|
+
* true iff that body node's handler call must be awaited (an async TERMINAL, or a node that calls an async
|
|
46
|
+
* sub-runner). `runnerIsAsync` is true iff the runner awaits anything (⇒ the emitter makes it `async fn`).
|
|
47
|
+
* A `cond` node (no handler) is never async.
|
|
48
|
+
*/
|
|
49
|
+
export interface AsyncPlan {
|
|
50
|
+
/** true iff node `nodeId`'s handler-call boundary must be awaited (per-node granularity). */
|
|
51
|
+
nodeIsAsync(nodeId: string): boolean;
|
|
52
|
+
/** true iff the runner awaits at least one call site ⇒ it must be emitted as `async fn`. */
|
|
53
|
+
readonly runnerIsAsync: boolean;
|
|
54
|
+
/** true iff EVERY handler-dispatching node in the runner is async (⇒ the uniform increment-1 shape;
|
|
55
|
+
* lets the emitter assert the increment-1 non-regression: uniform async ≡ every node awaited). */
|
|
56
|
+
readonly allTerminalsAsync: boolean;
|
|
57
|
+
/** DERIVED (issue #97 item 5) join!-eligible groups: node-id groups (each ≥2 async, mutually
|
|
58
|
+
* independent per the concurrency stage = no data-dependency edge) that MAY be issued as concurrent
|
|
59
|
+
* futures and join!ed. `join!` EMIT is optional; this derivation must be correct. A dependent chain
|
|
60
|
+
* yields NO group (its awaits are strictly sequential). */
|
|
61
|
+
readonly concurrentAsyncGroups: string[][];
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* buildAsyncPlans — the SSoT propagation pass. Given the whole IR + the I/O-model declaration, compute a
|
|
65
|
+
* per-COMPONENT AsyncPlan bottom-up. Language-agnostic: the result is a pure function of the component
|
|
66
|
+
* graph structure + the declaration, so rust / (future) python native / a hypothetical ts-native all read
|
|
67
|
+
* the SAME annotation and can never drift; go ignores it.
|
|
68
|
+
*
|
|
69
|
+
* Propagation (fixpoint over sub-runner references, monotone ⇒ terminates):
|
|
70
|
+
* - a TERMINAL node (componentRef / map) is async iff its catalog component is declared async, OR the
|
|
71
|
+
* component it references is itself an async runner (a sub-runner call — transitive);
|
|
72
|
+
* - a runner is async iff ANY of its nodes is async;
|
|
73
|
+
* - iterate to fixpoint (a runner becoming async can make a caller node async).
|
|
74
|
+
* On the covered path there are no sub-runner references, so this converges in one pass to "runner async
|
|
75
|
+
* iff any terminal declared async" — but the fixpoint keeps the SSoT correct as coverage grows.
|
|
76
|
+
*/
|
|
77
|
+
export declare function buildAsyncPlans(ir: ComponentGraphIR, io: IoModel): Map<string, AsyncPlan>;
|
|
78
|
+
//# sourceMappingURL=async-plan.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"async-plan.d.ts","sourceRoot":"","sources":["../../src/generator/async-plan.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,OAAO,KAAK,EAAa,gBAAgB,EAAuC,MAAM,gBAAgB,CAAC;AACvG,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGzC,YAAY,EAAE,OAAO,EAAE,CAAC;AAmBxB;;;;;GAKG;AACH,MAAM,WAAW,SAAS;IACxB,6FAA6F;IAC7F,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;IACrC,4FAA4F;IAC5F,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC;sGACkG;IAClG,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAC;IACpC;;;+DAG2D;IAC3D,QAAQ,CAAC,qBAAqB,EAAE,MAAM,EAAE,EAAE,CAAC;CAC5C;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,eAAe,CAAC,EAAE,EAAE,gBAAgB,EAAE,EAAE,EAAE,OAAO,GAAG,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CA8CzF"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import { execPlan } from "./straightline.js";
|
|
2
|
+
/** The catalog component name of a terminal (handler-dispatching) body node, or null for a non-terminal
|
|
3
|
+
* (a `cond` node is pure Expression — no handler, never async). */
|
|
4
|
+
function terminalComponent(n) {
|
|
5
|
+
if ("map" in n)
|
|
6
|
+
return n.map.component;
|
|
7
|
+
if ("component" in n)
|
|
8
|
+
return n.component;
|
|
9
|
+
return null; // cond — pure Expression, no handler dispatch
|
|
10
|
+
}
|
|
11
|
+
/** normalizeIoModel — collapse an IoModel into the predicate "is catalog component C an async terminal?".
|
|
12
|
+
* `"sync"` → always false; `"async"` → always true (uniform, increment-1 equivalent); a set → membership. */
|
|
13
|
+
function isAsyncComponent(io) {
|
|
14
|
+
if (io === "sync")
|
|
15
|
+
return () => false;
|
|
16
|
+
if (io === "async")
|
|
17
|
+
return () => true;
|
|
18
|
+
const set = new Set(io.asyncComponents);
|
|
19
|
+
return (c) => set.has(c);
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* buildAsyncPlans — the SSoT propagation pass. Given the whole IR + the I/O-model declaration, compute a
|
|
23
|
+
* per-COMPONENT AsyncPlan bottom-up. Language-agnostic: the result is a pure function of the component
|
|
24
|
+
* graph structure + the declaration, so rust / (future) python native / a hypothetical ts-native all read
|
|
25
|
+
* the SAME annotation and can never drift; go ignores it.
|
|
26
|
+
*
|
|
27
|
+
* Propagation (fixpoint over sub-runner references, monotone ⇒ terminates):
|
|
28
|
+
* - a TERMINAL node (componentRef / map) is async iff its catalog component is declared async, OR the
|
|
29
|
+
* component it references is itself an async runner (a sub-runner call — transitive);
|
|
30
|
+
* - a runner is async iff ANY of its nodes is async;
|
|
31
|
+
* - iterate to fixpoint (a runner becoming async can make a caller node async).
|
|
32
|
+
* On the covered path there are no sub-runner references, so this converges in one pass to "runner async
|
|
33
|
+
* iff any terminal declared async" — but the fixpoint keeps the SSoT correct as coverage grows.
|
|
34
|
+
*/
|
|
35
|
+
export function buildAsyncPlans(ir, io) {
|
|
36
|
+
const asyncComp = isAsyncComponent(io);
|
|
37
|
+
const byName = new Map();
|
|
38
|
+
for (const c of ir.components)
|
|
39
|
+
byName.set(c.name, c);
|
|
40
|
+
// runnerAsync[name] — does component `name`'s runner await anything? Monotone: only flips false→true.
|
|
41
|
+
const runnerAsync = new Set();
|
|
42
|
+
// A node's async-ness given the current runnerAsync knowledge: its own handler is declared async, OR it
|
|
43
|
+
// calls a sub-runner that is (currently known) async. `cond` nodes have no component ⇒ never async.
|
|
44
|
+
const nodeAsync = (n) => {
|
|
45
|
+
const comp = terminalComponent(n);
|
|
46
|
+
if (comp === null)
|
|
47
|
+
return false;
|
|
48
|
+
if (asyncComp(comp))
|
|
49
|
+
return true;
|
|
50
|
+
// sub-runner reference: if `comp` names another component in this IR, it is a runner call → inherit.
|
|
51
|
+
if (byName.has(comp) && runnerAsync.has(comp))
|
|
52
|
+
return true;
|
|
53
|
+
return false;
|
|
54
|
+
};
|
|
55
|
+
// Fixpoint: recompute each runner's async-ness until nothing changes (monotone over a finite set).
|
|
56
|
+
let changed = true;
|
|
57
|
+
while (changed) {
|
|
58
|
+
changed = false;
|
|
59
|
+
for (const c of ir.components) {
|
|
60
|
+
if (runnerAsync.has(c.name))
|
|
61
|
+
continue;
|
|
62
|
+
if (c.body.some(nodeAsync)) {
|
|
63
|
+
runnerAsync.add(c.name);
|
|
64
|
+
changed = true;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
const plans = new Map();
|
|
69
|
+
for (const c of ir.components) {
|
|
70
|
+
const perNode = new Map();
|
|
71
|
+
for (const n of c.body)
|
|
72
|
+
perNode.set(n.id, nodeAsync(n));
|
|
73
|
+
const terminalIds = c.body.filter((n) => terminalComponent(n) !== null).map((n) => n.id);
|
|
74
|
+
const allTerminalsAsync = terminalIds.length > 0 && terminalIds.every((id) => perNode.get(id) === true);
|
|
75
|
+
plans.set(c.name, {
|
|
76
|
+
nodeIsAsync: (nodeId) => perNode.get(nodeId) === true,
|
|
77
|
+
runnerIsAsync: runnerAsync.has(c.name),
|
|
78
|
+
allTerminalsAsync,
|
|
79
|
+
concurrentAsyncGroups: concurrentAsyncGroups(c, perNode),
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
return plans;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* concurrentAsyncGroups — the DERIVED independent-async grouping for the `join!` opportunity (issue #97
|
|
86
|
+
* item 5: "independent nodes (no data-dependency edge) MAY be issued as concurrent futures and join!ed").
|
|
87
|
+
*
|
|
88
|
+
* The impl of `join!` is OPTIONAL for #97; the DERIVATION must be correct. The correct, IR-grounded signal
|
|
89
|
+
* for "no data-dependency edge between two nodes" is the execution plan's concurrency STAGE: bc#87 places
|
|
90
|
+
* two nodes in the same parallel stage IFF neither depends on the other (a §1 intra-stage parent/child
|
|
91
|
+
* dependency is rejected by concurrencyPlan). So the join!-eligible groups are exactly each parallel
|
|
92
|
+
* stage's ASYNC members (≥2). A purely sequential plan (dependent chain) yields NO group — those awaits
|
|
93
|
+
* are strictly sequential (`A.await; …; B.await`), which is the required derivation for a dependent chain.
|
|
94
|
+
*
|
|
95
|
+
* Returns the list of node-id groups (each ≥2 async, mutually independent) that COULD be `join!`ed. An
|
|
96
|
+
* emitter MAY consume this to emit `join!`; the current rust emitter fails closed on async+concurrency
|
|
97
|
+
* (scoped-thread stages cannot host await), so it emits none — but the derivation is pinned correct here.
|
|
98
|
+
*/
|
|
99
|
+
function concurrentAsyncGroups(comp, perNode) {
|
|
100
|
+
const ep = execPlan(comp);
|
|
101
|
+
if (ep === null)
|
|
102
|
+
return [];
|
|
103
|
+
const groups = [];
|
|
104
|
+
const seen = new Set();
|
|
105
|
+
for (const [i, stage] of ep.parallelStageOf) {
|
|
106
|
+
if (seen.has(stage[0]))
|
|
107
|
+
continue;
|
|
108
|
+
seen.add(stage[0]);
|
|
109
|
+
void i;
|
|
110
|
+
const asyncMembers = stage.map((idx) => comp.body[idx].id).filter((id) => perNode.get(id) === true);
|
|
111
|
+
if (asyncMembers.length >= 2)
|
|
112
|
+
groups.push(asyncMembers);
|
|
113
|
+
}
|
|
114
|
+
return groups;
|
|
115
|
+
}
|
|
116
|
+
//# sourceMappingURL=async-plan.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"async-plan.js","sourceRoot":"","sources":["../../src/generator/async-plan.ts"],"names":[],"mappings":"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"}
|
package/dist/generator/core.d.ts
CHANGED
|
@@ -1,4 +1,18 @@
|
|
|
1
1
|
import type { ComponentGraphIR } from "../behavior.js";
|
|
2
|
+
/**
|
|
3
|
+
* IoModel — the codegen I/O-model declaration (bc#97). A codegen INPUT (emitter option / CLI flag),
|
|
4
|
+
* NEVER in the IR. The SSoT propagation pass `async-plan.ts` consumes it to derive per-node/per-runner
|
|
5
|
+
* async-ness.
|
|
6
|
+
* - `"sync"` (default / unset): every terminal handler is sync (neutral floor; pre-#97 byte-identical).
|
|
7
|
+
* - `"async"`: every terminal handler is async (the increment-1 uniform model).
|
|
8
|
+
* - `{ asyncComponents }`: PER-TERMINAL-HANDLER granularity — a node is an async terminal iff its
|
|
9
|
+
* catalog `component` name is listed. The general form; the uniform cases are its all/none degenerates.
|
|
10
|
+
* (Defined HERE — not in async-plan.ts — so core.ts carries no import cycle: core is imported first by
|
|
11
|
+
* every emitter; async-plan.ts imports this type back from core.)
|
|
12
|
+
*/
|
|
13
|
+
export type IoModel = "sync" | "async" | {
|
|
14
|
+
readonly asyncComponents: readonly string[];
|
|
15
|
+
};
|
|
2
16
|
export type GeneratorFailureCode = "INPUT_NOT_PORTABLE_IR" | "UNSUPPORTED_IR_VERSION" | "UNSUPPORTED_EXPR_VERSION" | "EMPTY_IR" | "DUPLICATE_COMPONENT" | "UNKNOWN_LANGUAGE" | "UNSUPPORTED_NODE_STRAIGHTLINE";
|
|
3
17
|
export declare class GeneratorFailure extends Error {
|
|
4
18
|
code: GeneratorFailureCode;
|
|
@@ -21,13 +35,18 @@ export interface EmitContext {
|
|
|
21
35
|
/** runtime-core を import するモジュール指定子(emitter の既定を上書き可)。 */
|
|
22
36
|
runtimeImport: string;
|
|
23
37
|
/**
|
|
24
|
-
* codegen I/O モデル(bc#97): async/await を持つ言語(rust
|
|
25
|
-
* handler が async I/O
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
38
|
+
* codegen I/O モデル(bc#97): async/await を持つ言語(native=rust; 将来の native python)で、consumer の
|
|
39
|
+
* terminal handler が async I/O を行う場合の宣言。emitter は per-terminal-node で `async fn` + `.await`
|
|
40
|
+
* を出力する(await placement は SSoT 伝播 pass `async-plan.ts` が導出)。async/sync は language-runtime
|
|
41
|
+
* concern であり IR には入らない — これは codegen INPUT(emitter option / CLI flag)。
|
|
42
|
+
* - `'sync'`(省略時 default): 全 terminal sync(neutral floor、runtime 不要、pre-#97 と byte-identical)。
|
|
43
|
+
* - `'async'`: 全 terminal async(増分1 の uniform モデル。per-node 一般化の全 async な退化形)。
|
|
44
|
+
* - `{ asyncComponents }`: **per-terminal-handler granularity** — catalog `component` 名が集合に入る
|
|
45
|
+
* terminal のみ async。未列挙は sync。1 runner 内で sync+async 混在可(bottom-up 伝播で runner は
|
|
46
|
+
* iff async terminal を含む時 async)。
|
|
47
|
+
* go は await 概念が無く annotation を無視(no-op)。python は native codegen surface が無く対象外。
|
|
29
48
|
*/
|
|
30
|
-
ioModel:
|
|
49
|
+
ioModel: IoModel;
|
|
31
50
|
}
|
|
32
51
|
/** 言語 emitter プラグイン。DSL 非依存の EmitContext からモジュール全文を emit する。 */
|
|
33
52
|
export interface EmitterPlugin {
|
|
@@ -63,10 +82,12 @@ export interface GenerateOptions {
|
|
|
63
82
|
runtimeImport?: string;
|
|
64
83
|
/**
|
|
65
84
|
* codegen I/O モデル(bc#97)。省略時 `'sync'`(従来通り、byte-identical な既定パス)。
|
|
66
|
-
* `'async'`
|
|
67
|
-
*
|
|
85
|
+
* `'async'`(uniform)または `{ asyncComponents }`(per-terminal-handler granularity)を渡すと
|
|
86
|
+
* async/await 対応 native 言語(rust-typed-native)が per-node で `async fn` + `.await` を出力する。
|
|
87
|
+
* go は await 概念が無いため無視(no-op)。python は native codegen surface が無く対象外。詳細は
|
|
88
|
+
* {@link IoModel} と `async-plan.ts` の SSoT 伝播 pass を参照。
|
|
68
89
|
*/
|
|
69
|
-
ioModel?:
|
|
90
|
+
ioModel?: IoModel;
|
|
70
91
|
}
|
|
71
92
|
export interface GeneratedModule {
|
|
72
93
|
/** 生成言語。 */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/generator/core.ts"],"names":[],"mappings":"AA2BA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/generator/core.ts"],"names":[],"mappings":"AA2BA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEvD;;;;;;;;;;GAUG;AACH,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG;IAAE,QAAQ,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,CAAC;AAGzF,MAAM,MAAM,oBAAoB,GAC5B,uBAAuB,GACvB,wBAAwB,GACxB,0BAA0B,GAC1B,UAAU,GACV,qBAAqB,GACrB,kBAAkB,GAClB,+BAA+B,CAAC;AAEpC,qBAAa,gBAAiB,SAAQ,KAAK;IACzC,IAAI,EAAE,oBAAoB,CAAC;gBACf,IAAI,EAAE,oBAAoB,EAAE,OAAO,EAAE,MAAM;CAKxD;AAOD,0CAA0C;AAC1C,MAAM,WAAW,WAAW;IAC1B,mCAAmC;IACnC,EAAE,EAAE,gBAAgB,CAAC;IACrB,oDAAoD;IACpD,WAAW,EAAE,MAAM,CAAC;IACpB,+CAA+C;IAC/C,YAAY,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACrE,8BAA8B;IAC9B,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,0DAA0D;IAC1D,aAAa,EAAE,MAAM,CAAC;IACtB;;;;;;;;;;;OAWG;IACH,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,gEAAgE;AAChE,MAAM,WAAW,aAAa;IAC5B,4CAA4C;IAC5C,QAAQ,EAAE,MAAM,CAAC;IACjB,mCAAmC;IACnC,aAAa,EAAE,MAAM,CAAC;IACtB,oFAAoF;IACpF,oBAAoB,EAAE,MAAM,CAAC;IAC7B;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,+BAA+B;IAC/B,IAAI,CAAC,GAAG,EAAE,WAAW,GAAG,MAAM,CAAC;CAChC;AAID;;;GAGG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,CAE3D;AAED,uCAAuC;AACvC,wBAAgB,mBAAmB,IAAI,MAAM,EAAE,CAE9C;AA8CD,MAAM,WAAW,eAAe;IAC9B,6DAA6D;IAC7D,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,YAAY;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,4BAA4B;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,mDAAmD;IACnD,WAAW,EAAE,MAAM,CAAC;IACpB,2BAA2B;IAC3B,YAAY,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACrE,uCAAuC;IACvC,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,8CAA8C;IAC9C,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,eAAe,GAAG,eAAe,CAgCrF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/generator/core.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,4BAA4B,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/generator/core.ts"],"names":[],"mappings":"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"}
|