@memberjunction/react-test-harness 2.120.0 → 2.122.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/lib/component-linter.d.ts +5 -0
- package/dist/lib/component-linter.d.ts.map +1 -1
- package/dist/lib/component-linter.js +2554 -2451
- package/dist/lib/component-linter.js.map +1 -1
- package/dist/lib/control-flow-analyzer.d.ts +184 -0
- package/dist/lib/control-flow-analyzer.d.ts.map +1 -0
- package/dist/lib/control-flow-analyzer.js +825 -0
- package/dist/lib/control-flow-analyzer.js.map +1 -0
- package/dist/lib/type-context.d.ts +182 -0
- package/dist/lib/type-context.d.ts.map +1 -0
- package/dist/lib/type-context.js +394 -0
- package/dist/lib/type-context.js.map +1 -0
- package/dist/lib/type-inference-engine.d.ts +148 -0
- package/dist/lib/type-inference-engine.d.ts.map +1 -0
- package/dist/lib/type-inference-engine.js +826 -0
- package/dist/lib/type-inference-engine.js.map +1 -0
- package/package.json +4 -4
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"control-flow-analyzer.js","sourceRoot":"","sources":["../../src/lib/control-flow-analyzer.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,gDAAkC;AAElC,mEAA8D;AAI9D,MAAa,mBAAmB;IAK9B,YAAY,GAAW,EAAE,aAA6B;QACpD,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,UAAU,GAAG,IAAI,2CAAmB,CAAC,aAAa,CAAC,CAAC;IAC3D,CAAC;IAED;;;;;;;OAOG;IACH,oBAAoB,CAAC,IAAY,EAAE,IAAc;QAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,CAAC,OAAO;YAAE,OAAO,KAAK,CAAC;QAE3B,oCAAoC;QACpC,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,gCAAgC;QAC5D,IAAI,YAAY,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,sCAAsC,EAAE,OAAO,CAAC,CAAC;YAC7D,OAAO,CAAC,GAAG,CAAC,gCAAgC,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChE,CAAC;QAED,8DAA8D;QAC9D,IAAI,WAAW,GAAoB,IAAI,CAAC;QACxC,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,OAAO,WAAW,EAAE,CAAC;YACnB,MAAM,UAAU,GAAoB,WAAW,CAAC,UAAU,CAAC;YAE3D,IAAI,YAAY,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,CAAC,eAAe,KAAK,aAAa,WAAW,CAAC,IAAI,CAAC,IAAI,YAAY,UAAU,EAAE,IAAI,CAAC,IAAI,IAAI,MAAM,EAAE,CAAC,CAAC;YACnH,CAAC;YAED,IAAI,UAAU,IAAI,CAAC,CAAC,uBAAuB,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7D,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;gBAElC,IAAI,YAAY,EAAE,CAAC;oBACjB,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;oBAClD,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC3C,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;gBACzE,CAAC;gBAED,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;oBACrF,IAAI,YAAY,EAAE,CAAC;wBACjB,OAAO,CAAC,GAAG,CAAC,0BAA0B,EAAE,OAAO,CAAC,CAAC;oBACnD,CAAC;oBAED,0DAA0D;oBAC1D,qDAAqD;oBACrD,IAAI,WAAW,CAAC,IAAI,KAAK,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;wBACpD,IAAI,YAAY,EAAE,CAAC;4BACjB,OAAO,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC;wBAClE,CAAC;wBACD,OAAO,IAAI,CAAC;oBACd,CAAC;oBAED,uDAAuD;oBACvD,IAAI,SAAS,GAAoB,IAAI,CAAC;oBACtC,OAAO,SAAS,IAAI,SAAS,KAAK,UAAU,EAAE,CAAC;wBAC7C,IAAI,SAAS,CAAC,IAAI,KAAK,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;4BAClD,IAAI,YAAY,EAAE,CAAC;gCACjB,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;4BAC7D,CAAC;4BACD,OAAO,IAAI,CAAC;wBACd,CAAC;wBACD,SAAS,GAAG,SAAS,CAAC,UAAU,CAAC;oBACnC,CAAC;oBAED,IAAI,YAAY,EAAE,CAAC;wBACjB,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;oBAC3D,CAAC;gBACH,CAAC;qBAAM,IAAI,YAAY,EAAE,CAAC;oBACxB,OAAO,CAAC,GAAG,CAAC,6BAA6B,EAAE,OAAO,CAAC,CAAC;gBACtD,CAAC;YACH,CAAC;YAED,WAAW,GAAG,UAAU,CAAC;YACzB,KAAK,EAAE,CAAC;QACV,CAAC;QAED,IAAI,YAAY,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,iCAAiC,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QAClE,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,mBAAmB,CAAC,IAAY,EAAE,IAAc;QAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,CAAC,OAAO;YAAE,OAAO,KAAK,CAAC;QAE3B,mGAAmG;QACnG,+DAA+D;QAC/D,MAAM,UAAU,GAAG,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC;YAClE,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC;YAC3B,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI;YAClB,CAAC,CAAC,IAAI,CAAC;QAE1B,IAAI,WAAW,GAAoB,IAAI,CAAC,UAAU,CAAC;QAEnD,OAAO,WAAW,EAAE,CAAC;YACnB,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC;YAE9B,qDAAqD;YACrD,IAAI,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;gBAEvB,8CAA8C;gBAC9C,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC;oBAClG,iDAAiD;oBACjD,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE,CAAC;wBAC3C,OAAO,IAAI,CAAC;oBACd,CAAC;gBACH,CAAC;gBAED,oDAAoD;gBACpD,IAAI,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC;oBAC9G,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE,CAAC;wBAC3C,OAAO,IAAI,CAAC;oBACd,CAAC;gBACH,CAAC;YACH,CAAC;YAED,gDAAgD;YAChD,IAAI,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;gBAC1D,+DAA+D;gBAC/D,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC;oBACxC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC;oBAC9C,CAAC,UAAU,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;oBAC3D,CAAC,UAAU,IAAI,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC;oBACtE,oCAAoC;oBACpC,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE,CAAC;wBAC1C,OAAO,IAAI,CAAC;oBACd,CAAC;gBACH,CAAC;YACH,CAAC;YAED,mEAAmE;YACnE,wEAAwE;YACxE,IAAI,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;gBAC1D,yEAAyE;gBACzE,IAAI,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC;oBAC3C,CAAC,UAAU,IAAI,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC;oBACnE,oCAAoC;oBACpC,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE,CAAC;wBAC1C,OAAO,IAAI,CAAC;oBACd,CAAC;gBACH,CAAC;YACH,CAAC;YAED,6CAA6C;YAC7C,IAAI,CAAC,CAAC,uBAAuB,CAAC,IAAI,CAAC,EAAE,CAAC;gBACpC,qFAAqF;gBACrF,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC;oBACxC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC;oBAC9C,CAAC,UAAU,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;oBAC3D,CAAC,UAAU,IAAI,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC;oBACtE,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE,CAAC;wBAC3C,OAAO,IAAI,CAAC;oBACd,CAAC;gBACH,CAAC;gBAED,qEAAqE;gBACrE,+CAA+C;gBAC/C,0DAA0D;gBAC1D,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE,CAAC;oBAC1C,IAAI,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC;wBAC/C,CAAC,UAAU,IAAI,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC;wBACvE,OAAO,IAAI,CAAC;oBACd,CAAC;gBACH,CAAC;YACH,CAAC;YAED,WAAW,GAAG,WAAW,CAAC,UAAU,CAAC;QACvC,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,gBAAgB,CAAC,IAAY,EAAE,IAAc,EAAE,YAAoB;QACjE,MAAM,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,CAAC,OAAO;YAAE,OAAO,KAAK,CAAC;QAE3B,IAAI,WAAW,GAAoB,IAAI,CAAC,UAAU,CAAC;QAEnD,OAAO,WAAW,EAAE,CAAC;YACnB,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC;YAE9B,4DAA4D;YAC5D,IAAI,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC1B,gCAAgC;gBAChC,MAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gBAChE,IAAI,YAAY,KAAK,YAAY,EAAE,CAAC;oBAClC,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE,CAAC;wBAC3C,OAAO,IAAI,CAAC;oBACd,CAAC;gBACH,CAAC;gBAED,wDAAwD;gBACxD,IAAI,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;oBACpE,MAAM,aAAa,GAAG,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;oBAC1E,IAAI,aAAa,KAAK,YAAY,EAAE,CAAC;wBACnC,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE,CAAC;4BAC3C,OAAO,IAAI,CAAC;wBACd,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YAED,kEAAkE;YAClE,IAAI,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;gBAC1D,MAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gBAChE,IAAI,YAAY,KAAK,YAAY,EAAE,CAAC;oBAClC,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE,CAAC;wBAC1C,OAAO,IAAI,CAAC;oBACd,CAAC;gBACH,CAAC;gBAED,+CAA+C;gBAC/C,IAAI,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;oBACpE,MAAM,UAAU,GAAG,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;oBACvE,IAAI,UAAU,KAAK,YAAY,EAAE,CAAC;wBAChC,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE,CAAC;4BAC1C,OAAO,IAAI,CAAC;wBACd,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YAED,WAAW,GAAG,WAAW,CAAC,UAAU,CAAC;QACvC,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACK,0BAA0B,CAAC,IAAkB,EAAE,OAAe;QACpE,IAAI,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YAC1D,kBAAkB;YAClB,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC5D,IAAI,QAAQ;gBAAE,OAAO,QAAQ,CAAC;YAE9B,+BAA+B;YAC/B,MAAM,SAAS,GAAG,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YACvE,IAAI,SAAS;gBAAE,OAAO,SAAS,CAAC;QAClC,CAAC;QAED,iCAAiC;QACjC,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC/C,CAAC;IAED;;OAEG;IACK,iBAAiB,CAAC,IAAkB,EAAE,OAAe;QAC3D,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QAE7C,sBAAsB;QACtB,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YACtD,IAAI,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC;gBAC9B,IAAI,CAAC,IAAI,CAAC,QAAQ,KAAK,QAAQ;gBAC/B,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;gBAClC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,OAAO;gBACnC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBAClC,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAE,kBAAkB;YAC9C,CAAC;YAED,gCAAgC;YAChC,IAAI,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;gBAC5B,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC;gBAC/B,IAAI,CAAC,KAAK,CAAC,QAAQ,KAAK,QAAQ;gBAChC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;gBACnC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBACzC,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;YACzB,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACK,eAAe,CAAC,IAAkB,EAAE,OAAe;QACzD,oDAAoD;QACpD,uFAAuF;QACvF,IAAI,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YAC1D,kCAAkC;YAClC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YAEvB,4DAA4D;YAC5D,IAAI,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,KAAK,GAAG;gBAClD,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBACpE,0DAA0D;gBAC1D,uEAAuE;gBACvE,OAAO,IAAI,CAAC;YACd,CAAC;YAED,2CAA2C;YAC3C,uDAAuD;YACvD,IAAI,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,KAAK,GAAG;gBAClD,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC;gBACnC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;gBACpC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC1C,uDAAuD;gBACvD,OAAO,IAAI,CAAC;YACd,CAAC;YAED,mDAAmD;YACnD,kDAAkD;YAClD,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;gBACxC,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAED,yCAAyC;QACzC,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC;YAAE,OAAO,KAAK,CAAC;QAE9C,6CAA6C;QAC7C,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;YACtD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACvB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YAEzB,gCAAgC;YAChC,iEAAiE;YACjE,IAAI,WAAW,GAAkB,IAAI,CAAC;YACtC,IAAI,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzB,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC;YAC1B,CAAC;iBAAM,IAAI,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,0BAA0B,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC5E,WAAW,GAAG,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC;YACrD,CAAC;YAED,sCAAsC;YACtC,MAAM,SAAS,GAAG,CAChB,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC;gBACtB,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC,CACtD,CAAC;YAEF,OAAO,WAAW,KAAK,OAAO,IAAI,SAAS,CAAC;QAC9C,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;;OAOG;IACK,qBAAqB,CAAC,IAAkB,EAAE,OAAe;QAC/D,4BAA4B;QAC5B,IAAI,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAClD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,mFAAmF;QACnF,iDAAiD;QACjD,IAAI,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,0BAA0B,CAAC,IAAI,CAAC,EAAE,CAAC;YACrE,MAAM,QAAQ,GAAG,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC;YACtD,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;gBACzB,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAED,6EAA6E;QAC7E,4DAA4D;QAC5D,IAAI,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YAC1D,wBAAwB;YACxB,IAAI,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;gBACnD,OAAO,IAAI,CAAC;YACd,CAAC;YACD,oFAAoF;YACpF,qCAAqC;YACrC,IAAI,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC;gBACpD,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;;OAOG;IACK,kBAAkB,CAAC,IAAkB,EAAE,OAAe;QAC5D,sBAAsB;QACtB,IAAI,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,KAAK,GAAG,EAAE,CAAC;YACvD,IAAI,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBACpE,OAAO,IAAI,CAAC;YACd,CAAC;YACD,wCAAwC;YACxC,IAAI,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC;gBACnC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;gBACpC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC1C,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAED,2CAA2C;QAC3C,IAAI,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YAC1D,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC;gBAC3C,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACtD,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;;;;;OAUG;IACK,sBAAsB,CAAC,IAAkB,EAAE,OAAe;QAChE,+CAA+C;QAC/C,uDAAuD;QACvD,IAAI,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YAC1D,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YAEvB,kDAAkD;YAClD,IAAI,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,KAAK,GAAG,EAAE,CAAC;gBACvD,kDAAkD;gBAClD,IAAI,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBACpE,mEAAmE;oBACnE,OAAO,IAAI,CAAC;gBACd,CAAC;gBAED,8BAA8B;gBAC9B,IAAI,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC;oBACnC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;oBACpC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBAC1C,4DAA4D;oBAC5D,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;;;;;;OAWG;IACK,mBAAmB,CAAC,IAAY;QACtC,yBAAyB;QACzB,IAAI,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAED,6CAA6C;QAC7C,IAAI,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,0BAA0B,CAAC,IAAI,CAAC,EAAE,CAAC;YACrE,OAAO,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC;QAC9C,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;OAQG;IACK,yBAAyB,CAAC,IAAqD;QACrF,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,IAAI,OAAO,GAA2C,IAAI,CAAC;QAE3D,sCAAsC;QACtC,OAAO,CAAC,CAAC,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,0BAA0B,CAAC,OAAO,CAAC,EAAE,CAAC;YAC9E,wBAAwB;YACxB,IAAI,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACrC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACvC,CAAC;iBAAM,CAAC;gBACN,sDAAsD;gBACtD,OAAO,IAAI,CAAC;YACd,CAAC;YAED,qBAAqB;YACrB,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;QAC3B,CAAC;QAED,+BAA+B;QAC/B,IAAI,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5B,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC5B,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzB,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACK,cAAc,CAAC,UAAoB,EAAE,MAAgB;QAC3D,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC;QAE3B,IAAI,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5B,sDAAsD;YACtD,IAAI,OAAO,GAAoB,UAAU,CAAC;YAC1C,OAAO,OAAO,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;gBACrC,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC,UAAU,EAAE,CAAC;oBACvC,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC;YAC/B,CAAC;QACH,CAAC;QAED,IAAI,CAAC,CAAC,uBAAuB,CAAC,MAAM,CAAC,EAAE,CAAC;YACtC,0CAA0C;YAC1C,IAAI,OAAO,GAAoB,UAAU,CAAC;YAC1C,OAAO,OAAO,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;gBACrC,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC,UAAU,EAAE,CAAC;oBACvC,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC;YAC/B,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACK,aAAa,CAAC,UAAoB,EAAE,MAAgB;QAC1D,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC;QAE3B,IAAI,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5B,qDAAqD;YACrD,IAAI,OAAO,GAAoB,UAAU,CAAC;YAC1C,OAAO,OAAO,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;gBACrC,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC,SAAS,EAAE,CAAC;oBACtC,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC;YAC/B,CAAC;QACH,CAAC;QAED,IAAI,CAAC,CAAC,uBAAuB,CAAC,MAAM,CAAC,EAAE,CAAC;YACtC,yCAAyC;YACzC,IAAI,OAAO,GAAoB,UAAU,CAAC;YAC1C,OAAO,OAAO,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;gBACrC,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC,SAAS,EAAE,CAAC;oBACtC,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC;YAC/B,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACK,aAAa,CAAC,UAAoB,EAAE,WAAqB;QAC/D,MAAM,WAAW,GAAG,WAAW,CAAC,IAAI,CAAC;QAErC,IAAI,CAAC,CAAC,CAAC,mBAAmB,CAAC,WAAW,CAAC,EAAE,CAAC;YACxC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,sDAAsD;QACtD,IAAI,OAAO,GAAoB,UAAU,CAAC;QAC1C,OAAO,OAAO,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;YAC1C,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,CAAC,KAAK,EAAE,CAAC;gBACvC,OAAO,IAAI,CAAC;YACd,CAAC;YACD,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC;QAC/B,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,iBAAiB,CAAC,SAAiB,EAAE,WAAmB,EAAE,IAAc;QACtE,MAAM,SAAS,GAAG,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;QACtD,IAAI,CAAC,SAAS;YAAE,OAAO,KAAK,CAAC;QAE7B,qDAAqD;QACrD,8DAA8D;QAC9D,yDAAyD;QACzD,IAAI,WAAW,GAAoB,IAAI,CAAC,UAAU,CAAC;QACnD,OAAO,WAAW,EAAE,CAAC;YACnB,IAAI,CAAC,CAAC,uBAAuB,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;gBAChD,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;gBAEnC,iDAAiD;gBACjD,8DAA8D;gBAC9D,IAAI,YAAY,GAAG,KAAK,CAAC;gBACzB,IAAI,SAAS,GAAoB,IAAI,CAAC;gBACtC,OAAO,SAAS,IAAI,SAAS,KAAK,WAAW,EAAE,CAAC;oBAC9C,IAAI,SAAS,CAAC,IAAI,KAAK,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;wBACnD,YAAY,GAAG,IAAI,CAAC;wBACpB,MAAM;oBACR,CAAC;oBACD,4CAA4C;oBAC5C,IAAI,MAAM,GAAoB,SAAS,CAAC,UAAU,CAAC;oBACnD,OAAO,MAAM,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;wBACxC,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;4BAChD,YAAY,GAAG,IAAI,CAAC;4BACpB,MAAM;wBACR,CAAC;wBACD,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC;oBAC7B,CAAC;oBACD,IAAI,YAAY;wBAAE,MAAM;oBACxB,SAAS,GAAG,SAAS,CAAC,UAAU,CAAC;gBACnC,CAAC;gBAED,IAAI,YAAY,EAAE,CAAC;oBACjB,4CAA4C;oBAC5C,IAAI,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;wBACpD,OAAO,IAAI,CAAC;oBACd,CAAC;oBAED,uBAAuB;oBACvB,MAAM,YAAY,GAAG,IAAI,CAAC,8BAA8B,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;oBAC1E,IAAI,YAAY,IAAI,WAAW,EAAE,CAAC;wBAChC,OAAO,IAAI,CAAC;oBACd,CAAC;gBACH,CAAC;YACH,CAAC;YAED,WAAW,GAAG,WAAW,CAAC,UAAU,CAAC;QACvC,CAAC;QAED,6BAA6B;QAC7B,4CAA4C;QAC5C,iDAAiD;QACjD,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC;QAC9B,OAAO,WAAW,EAAE,CAAC;YACnB,IAAI,CAAC,CAAC,mBAAmB,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;gBAClF,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;gBAEnC,mCAAmC;gBACnC,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE,CAAC;oBAC1C,mBAAmB;oBACnB,IAAI,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;wBACpD,OAAO,IAAI,CAAC;oBACd,CAAC;oBAED,eAAe;oBACf,MAAM,YAAY,GAAG,IAAI,CAAC,8BAA8B,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;oBAC1E,IAAI,YAAY,IAAI,WAAW,EAAE,CAAC;wBAChC,OAAO,IAAI,CAAC;oBACd,CAAC;gBACH,CAAC;YACH,CAAC;YAED,WAAW,GAAG,WAAW,CAAC,UAAU,CAAC;QACvC,CAAC;QAED,qCAAqC;QACrC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC;QAC9B,OAAO,WAAW,EAAE,CAAC;YACnB,IAAI,CAAC,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;gBACtC,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;gBACnC,MAAM,YAAY,GAAG,IAAI,CAAC,8BAA8B,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;gBAE1E,IAAI,YAAY,IAAI,WAAW,EAAE,CAAC;oBAChC,yCAAyC;oBACzC,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE,CAAC;wBAC3C,OAAO,IAAI,CAAC;oBACd,CAAC;oBAED,iCAAiC;oBACjC,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;oBAC/C,IAAI,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,CAAC;wBACpC,kCAAkC;wBAClC,OAAO,IAAI,CAAC;oBACd,CAAC;gBACH,CAAC;gBAED,oDAAoD;gBACpD,IAAI,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,KAAK,GAAG;oBAClD,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;oBACtE,oDAAoD;oBACpD,IAAI,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;wBACrD,OAAO,IAAI,CAAC;oBACd,CAAC;gBACH,CAAC;YACH,CAAC;YAED,WAAW,GAAG,WAAW,CAAC,UAAU,CAAC;QACvC,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;;;;;;;;OAaG;IACK,8BAA8B,CAAC,IAAkB,EAAE,SAAiB;QAC1E,IAAI,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/B,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;YAEvC,4EAA4E;YAC5E,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;gBACtE,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC;gBAE/B,+CAA+C;gBAC/C,IAAI,QAAQ,KAAK,GAAG,EAAE,CAAC;oBACrB,OAAO,UAAU,CAAC;gBACpB,CAAC;gBAED,kDAAkD;gBAClD,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;oBACtB,OAAO,UAAU,GAAG,CAAC,CAAC;gBACxB,CAAC;gBAED,4DAA4D;gBAC5D,IAAI,CAAC,QAAQ,KAAK,KAAK,IAAI,QAAQ,KAAK,IAAI,CAAC,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;oBAClE,OAAO,CAAC,CAAC;gBACX,CAAC;YACH,CAAC;YAED,mDAAmD;YACnD,IAAI,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;gBACtE,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;gBAE9B,+CAA+C;gBAC/C,IAAI,QAAQ,KAAK,GAAG,EAAE,CAAC;oBACrB,OAAO,UAAU,CAAC;gBACpB,CAAC;gBAED,kDAAkD;gBAClD,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;oBACtB,OAAO,UAAU,GAAG,CAAC,CAAC;gBACxB,CAAC;YACH,CAAC;QACH,CAAC;QAED,0CAA0C;QAC1C,IAAI,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;YAChC,MAAM,OAAO,GAAG,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,IAAoB,EAAE,SAAS,CAAC,CAAC;YAC1F,MAAM,QAAQ,GAAG,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,KAAqB,EAAE,SAAS,CAAC,CAAC;YAE5F,4DAA4D;YAC5D,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;gBAC3B,IAAI,OAAO,IAAI,CAAC,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;oBAClC,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;gBACrC,CAAC;gBACD,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YACrC,CAAC;YAED,4DAA4D;YAC5D,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;gBAC3B,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YACrC,CAAC;QACH,CAAC;QAED,OAAO,CAAC,CAAC,CAAC;IACZ,CAAC;IAED;;;;OAIG;IACK,cAAc,CAAC,IAAkC,EAAE,SAAiB;QAC1E,uDAAuD;QACvD,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,0BAA0B,CAAC,IAAI,CAAC,EAAE,CAAC;YACvE,OAAO,KAAK,CAAC;QACf,CAAC;QAED,4BAA4B;QAC5B,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtE,OAAO,KAAK,CAAC;QACf,CAAC;QAED,2FAA2F;QAC3F,MAAM,UAAU,GAAG,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,MAAa,CAAC,CAAC;QAEtE,mDAAmD;QACnD,IAAI,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAClE,OAAO,IAAI,CAAC;QACd,CAAC;QAED,2DAA2D;QAC3D,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACK,cAAc,CAAC,SAAsB;QAC3C,IAAI,CAAC,CAAC,iBAAiB,CAAC,SAAS,CAAC,EAAE,CAAC;YACnC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC,CAAC,gBAAgB,CAAC,SAAS,CAAC,EAAE,CAAC;YAClC,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC;gBAClC,IAAI,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC9B,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AA13BD,kDA03BC"}
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type Context - Variable type tracking for component linting
|
|
3
|
+
*
|
|
4
|
+
* This module provides infrastructure for tracking variable types throughout
|
|
5
|
+
* component code. It integrates with entity metadata and query specs to provide
|
|
6
|
+
* type information for data-driven type checking.
|
|
7
|
+
*/
|
|
8
|
+
import { UserInfo } from '@memberjunction/core';
|
|
9
|
+
import { ComponentSpec } from '@memberjunction/interactive-component-types';
|
|
10
|
+
/**
|
|
11
|
+
* Represents type information for a value
|
|
12
|
+
*/
|
|
13
|
+
export interface TypeInfo {
|
|
14
|
+
/** Base type: string, number, boolean, array, object, entity-row, query-row, function, unknown */
|
|
15
|
+
type: string;
|
|
16
|
+
/** For entity-row types, the entity name */
|
|
17
|
+
entityName?: string;
|
|
18
|
+
/** For query-row types, the query name */
|
|
19
|
+
queryName?: string;
|
|
20
|
+
/** Known fields/properties and their types */
|
|
21
|
+
fields?: Map<string, FieldTypeInfo>;
|
|
22
|
+
/** For array types, the element type */
|
|
23
|
+
arrayElementType?: TypeInfo;
|
|
24
|
+
/** For object/dictionary types, the value type (e.g., Object.values() returns array of this) */
|
|
25
|
+
objectValueType?: TypeInfo;
|
|
26
|
+
/** Whether the value can be null/undefined */
|
|
27
|
+
nullable?: boolean;
|
|
28
|
+
/** Whether this type came from metadata (vs inferred) */
|
|
29
|
+
fromMetadata?: boolean;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Type information for a specific field
|
|
33
|
+
*/
|
|
34
|
+
export interface FieldTypeInfo {
|
|
35
|
+
/** The JavaScript type */
|
|
36
|
+
type: string;
|
|
37
|
+
/** Whether this came from entity/query metadata */
|
|
38
|
+
fromMetadata: boolean;
|
|
39
|
+
/** Original SQL type if from database */
|
|
40
|
+
sqlType?: string;
|
|
41
|
+
/** Whether the field is nullable */
|
|
42
|
+
nullable?: boolean;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Information about a query parameter
|
|
46
|
+
*/
|
|
47
|
+
export interface ParameterTypeInfo {
|
|
48
|
+
name: string;
|
|
49
|
+
type: string;
|
|
50
|
+
isRequired: boolean;
|
|
51
|
+
sqlType?: string;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Maps SQL Server types to JavaScript types
|
|
55
|
+
*/
|
|
56
|
+
export declare function mapSQLTypeToJSType(sqlType: string): string;
|
|
57
|
+
/**
|
|
58
|
+
* TypeContext - Tracks variable types throughout component code
|
|
59
|
+
*
|
|
60
|
+
* Provides scoped variable type tracking with support for:
|
|
61
|
+
* - Entity field types from metadata
|
|
62
|
+
* - Query result types from spec
|
|
63
|
+
* - RunView/RunQuery result structure
|
|
64
|
+
* - Variable assignment tracking
|
|
65
|
+
*/
|
|
66
|
+
export declare class TypeContext {
|
|
67
|
+
private componentSpec?;
|
|
68
|
+
private variableTypes;
|
|
69
|
+
private scopeStack;
|
|
70
|
+
private entityFieldCache;
|
|
71
|
+
private queryFieldCache;
|
|
72
|
+
private queryParamCache;
|
|
73
|
+
constructor(componentSpec?: ComponentSpec | undefined);
|
|
74
|
+
/**
|
|
75
|
+
* Cache query field and parameter metadata from spec
|
|
76
|
+
*/
|
|
77
|
+
private cacheQueryMetadata;
|
|
78
|
+
/**
|
|
79
|
+
* Infer JavaScript type from a value
|
|
80
|
+
*/
|
|
81
|
+
private inferTypeFromValue;
|
|
82
|
+
/**
|
|
83
|
+
* Load entity field types from metadata (async version)
|
|
84
|
+
*/
|
|
85
|
+
loadEntityFieldTypes(entityName: string, contextUser?: UserInfo): Promise<Map<string, FieldTypeInfo>>;
|
|
86
|
+
/**
|
|
87
|
+
* Get entity field types from metadata (synchronous - uses pre-loaded metadata)
|
|
88
|
+
*/
|
|
89
|
+
getEntityFieldTypesSync(entityName: string): Map<string, FieldTypeInfo>;
|
|
90
|
+
/**
|
|
91
|
+
* Get query field types from spec
|
|
92
|
+
*/
|
|
93
|
+
getQueryFieldTypes(queryName: string, categoryPath?: string): Map<string, FieldTypeInfo> | undefined;
|
|
94
|
+
/**
|
|
95
|
+
* Get query parameter types from spec
|
|
96
|
+
*/
|
|
97
|
+
getQueryParameters(queryName: string, categoryPath?: string): ParameterTypeInfo[] | undefined;
|
|
98
|
+
/**
|
|
99
|
+
* Enter a new scope (function, block, etc.)
|
|
100
|
+
*/
|
|
101
|
+
enterScope(scopeName: string): void;
|
|
102
|
+
/**
|
|
103
|
+
* Exit the current scope
|
|
104
|
+
*/
|
|
105
|
+
exitScope(): void;
|
|
106
|
+
/**
|
|
107
|
+
* Get the current scope prefix for variable names
|
|
108
|
+
*/
|
|
109
|
+
private getCurrentScopePrefix;
|
|
110
|
+
/**
|
|
111
|
+
* Get the fully scoped name for a variable
|
|
112
|
+
*/
|
|
113
|
+
private getScopedName;
|
|
114
|
+
/**
|
|
115
|
+
* Set a variable's type in the current scope
|
|
116
|
+
*/
|
|
117
|
+
setVariableType(name: string, type: TypeInfo): void;
|
|
118
|
+
/**
|
|
119
|
+
* Get a variable's type, searching from current scope up to global
|
|
120
|
+
*/
|
|
121
|
+
getVariableType(name: string): TypeInfo | undefined;
|
|
122
|
+
/**
|
|
123
|
+
* Check if a variable exists in any accessible scope
|
|
124
|
+
*/
|
|
125
|
+
hasVariable(name: string): boolean;
|
|
126
|
+
/**
|
|
127
|
+
* Get all variables in the current scope
|
|
128
|
+
*/
|
|
129
|
+
getCurrentScopeVariables(): Map<string, TypeInfo>;
|
|
130
|
+
/**
|
|
131
|
+
* Create TypeInfo for a RunView result
|
|
132
|
+
*/
|
|
133
|
+
createRunViewResultType(entityName: string, entityFields?: Map<string, FieldTypeInfo>): TypeInfo;
|
|
134
|
+
/**
|
|
135
|
+
* Create TypeInfo for a RunQuery result
|
|
136
|
+
*/
|
|
137
|
+
createRunQueryResultType(queryName: string, queryFields?: Map<string, FieldTypeInfo>): TypeInfo;
|
|
138
|
+
/**
|
|
139
|
+
* Create TypeInfo for an entity row
|
|
140
|
+
*/
|
|
141
|
+
createEntityRowType(entityName: string, fields: Map<string, FieldTypeInfo>): TypeInfo;
|
|
142
|
+
/**
|
|
143
|
+
* Create TypeInfo for a query result row
|
|
144
|
+
*/
|
|
145
|
+
createQueryRowType(queryName: string, fields: Map<string, FieldTypeInfo>): TypeInfo;
|
|
146
|
+
/**
|
|
147
|
+
* Clear all variable types (reset context)
|
|
148
|
+
*/
|
|
149
|
+
clear(): void;
|
|
150
|
+
/**
|
|
151
|
+
* Get debug information about current state
|
|
152
|
+
*/
|
|
153
|
+
getDebugInfo(): {
|
|
154
|
+
scopes: string[];
|
|
155
|
+
variables: [string, TypeInfo][];
|
|
156
|
+
};
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Standard type definitions for common patterns
|
|
160
|
+
*/
|
|
161
|
+
export declare const StandardTypes: {
|
|
162
|
+
string: TypeInfo;
|
|
163
|
+
number: TypeInfo;
|
|
164
|
+
boolean: TypeInfo;
|
|
165
|
+
unknown: TypeInfo;
|
|
166
|
+
null: TypeInfo;
|
|
167
|
+
undefined: TypeInfo;
|
|
168
|
+
function: TypeInfo;
|
|
169
|
+
/** Array of unknown elements */
|
|
170
|
+
array: TypeInfo;
|
|
171
|
+
/** Generic object */
|
|
172
|
+
object: TypeInfo;
|
|
173
|
+
};
|
|
174
|
+
/**
|
|
175
|
+
* Helper to check if two types are compatible
|
|
176
|
+
*/
|
|
177
|
+
export declare function areTypesCompatible(expected: TypeInfo, actual: TypeInfo): boolean;
|
|
178
|
+
/**
|
|
179
|
+
* Get a human-readable description of a type
|
|
180
|
+
*/
|
|
181
|
+
export declare function describeType(type: TypeInfo): string;
|
|
182
|
+
//# sourceMappingURL=type-context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"type-context.d.ts","sourceRoot":"","sources":["../../src/lib/type-context.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,394 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Type Context - Variable type tracking for component linting
|
|
4
|
+
*
|
|
5
|
+
* This module provides infrastructure for tracking variable types throughout
|
|
6
|
+
* component code. It integrates with entity metadata and query specs to provide
|
|
7
|
+
* type information for data-driven type checking.
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.describeType = exports.areTypesCompatible = exports.StandardTypes = exports.TypeContext = exports.mapSQLTypeToJSType = void 0;
|
|
11
|
+
const core_1 = require("@memberjunction/core");
|
|
12
|
+
/**
|
|
13
|
+
* Maps SQL Server types to JavaScript types
|
|
14
|
+
*/
|
|
15
|
+
function mapSQLTypeToJSType(sqlType) {
|
|
16
|
+
const type = sqlType.toLowerCase();
|
|
17
|
+
// If already a JavaScript type, return it directly
|
|
18
|
+
// This handles cases where query metadata provides JS types instead of SQL types
|
|
19
|
+
if (['string', 'number', 'boolean'].includes(type)) {
|
|
20
|
+
return type;
|
|
21
|
+
}
|
|
22
|
+
// Numeric types
|
|
23
|
+
if (['int', 'bigint', 'smallint', 'tinyint', 'decimal', 'numeric', 'float', 'real', 'money', 'smallmoney'].includes(type)) {
|
|
24
|
+
return 'number';
|
|
25
|
+
}
|
|
26
|
+
// String types
|
|
27
|
+
if (['char', 'varchar', 'text', 'nchar', 'nvarchar', 'ntext', 'xml'].includes(type)) {
|
|
28
|
+
return 'string';
|
|
29
|
+
}
|
|
30
|
+
// Boolean types
|
|
31
|
+
if (['bit'].includes(type)) {
|
|
32
|
+
return 'boolean';
|
|
33
|
+
}
|
|
34
|
+
// Date/time types - represented as strings in JS (ISO format)
|
|
35
|
+
if (['date', 'time', 'datetime', 'datetime2', 'smalldatetime', 'datetimeoffset'].includes(type)) {
|
|
36
|
+
return 'string'; // Dates come as ISO strings from the API
|
|
37
|
+
}
|
|
38
|
+
// Binary types
|
|
39
|
+
if (['binary', 'varbinary', 'image'].includes(type)) {
|
|
40
|
+
return 'string'; // Base64 encoded
|
|
41
|
+
}
|
|
42
|
+
// GUID
|
|
43
|
+
if (['uniqueidentifier'].includes(type)) {
|
|
44
|
+
return 'string';
|
|
45
|
+
}
|
|
46
|
+
return 'unknown';
|
|
47
|
+
}
|
|
48
|
+
exports.mapSQLTypeToJSType = mapSQLTypeToJSType;
|
|
49
|
+
/**
|
|
50
|
+
* TypeContext - Tracks variable types throughout component code
|
|
51
|
+
*
|
|
52
|
+
* Provides scoped variable type tracking with support for:
|
|
53
|
+
* - Entity field types from metadata
|
|
54
|
+
* - Query result types from spec
|
|
55
|
+
* - RunView/RunQuery result structure
|
|
56
|
+
* - Variable assignment tracking
|
|
57
|
+
*/
|
|
58
|
+
class TypeContext {
|
|
59
|
+
constructor(componentSpec) {
|
|
60
|
+
this.componentSpec = componentSpec;
|
|
61
|
+
this.variableTypes = new Map();
|
|
62
|
+
this.scopeStack = [];
|
|
63
|
+
this.entityFieldCache = new Map();
|
|
64
|
+
this.queryFieldCache = new Map();
|
|
65
|
+
this.queryParamCache = new Map();
|
|
66
|
+
// Initialize query caches from component spec
|
|
67
|
+
if (componentSpec?.dataRequirements?.queries) {
|
|
68
|
+
for (const query of componentSpec.dataRequirements.queries) {
|
|
69
|
+
this.cacheQueryMetadata(query);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Cache query field and parameter metadata from spec
|
|
75
|
+
*/
|
|
76
|
+
cacheQueryMetadata(query) {
|
|
77
|
+
const queryKey = `${query.categoryPath}/${query.name}`;
|
|
78
|
+
// Cache parameters - note: ComponentQueryParameterValue has name, value, testValue
|
|
79
|
+
// For type info, we check for extended properties that test fixtures may include
|
|
80
|
+
if (query.parameters) {
|
|
81
|
+
const params = query.parameters.map(p => {
|
|
82
|
+
// Extended parameter info may be present in test fixtures
|
|
83
|
+
const extendedParam = p;
|
|
84
|
+
return {
|
|
85
|
+
name: p.name,
|
|
86
|
+
// Type may be in extended format or inferred from testValue
|
|
87
|
+
type: extendedParam.type
|
|
88
|
+
? mapSQLTypeToJSType(extendedParam.type)
|
|
89
|
+
: this.inferTypeFromValue(p.testValue || p.value),
|
|
90
|
+
isRequired: extendedParam.isRequired ?? (p.value === '@runtime'),
|
|
91
|
+
sqlType: extendedParam.type
|
|
92
|
+
};
|
|
93
|
+
});
|
|
94
|
+
this.queryParamCache.set(queryKey, params);
|
|
95
|
+
}
|
|
96
|
+
// Cache fields if available (extended format for test fixtures)
|
|
97
|
+
if (query.fields) {
|
|
98
|
+
const fields = new Map();
|
|
99
|
+
for (const field of query.fields) {
|
|
100
|
+
fields.set(field.name, {
|
|
101
|
+
type: mapSQLTypeToJSType(field.type || 'nvarchar'),
|
|
102
|
+
fromMetadata: true,
|
|
103
|
+
sqlType: field.type,
|
|
104
|
+
nullable: field.nullable
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
this.queryFieldCache.set(queryKey, fields);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Infer JavaScript type from a value
|
|
112
|
+
*/
|
|
113
|
+
inferTypeFromValue(value) {
|
|
114
|
+
if (value === undefined || value === null)
|
|
115
|
+
return 'unknown';
|
|
116
|
+
if (typeof value === 'string')
|
|
117
|
+
return 'string';
|
|
118
|
+
if (typeof value === 'number')
|
|
119
|
+
return 'number';
|
|
120
|
+
if (typeof value === 'boolean')
|
|
121
|
+
return 'boolean';
|
|
122
|
+
if (Array.isArray(value))
|
|
123
|
+
return 'array';
|
|
124
|
+
if (typeof value === 'object')
|
|
125
|
+
return 'object';
|
|
126
|
+
return 'unknown';
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Load entity field types from metadata (async version)
|
|
130
|
+
*/
|
|
131
|
+
async loadEntityFieldTypes(entityName, contextUser) {
|
|
132
|
+
return this.getEntityFieldTypesSync(entityName);
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Get entity field types from metadata (synchronous - uses pre-loaded metadata)
|
|
136
|
+
*/
|
|
137
|
+
getEntityFieldTypesSync(entityName) {
|
|
138
|
+
// Check cache first
|
|
139
|
+
if (this.entityFieldCache.has(entityName)) {
|
|
140
|
+
return this.entityFieldCache.get(entityName);
|
|
141
|
+
}
|
|
142
|
+
const fields = new Map();
|
|
143
|
+
try {
|
|
144
|
+
const md = new core_1.Metadata();
|
|
145
|
+
const entity = md.Entities.find(e => e.Name === entityName);
|
|
146
|
+
if (entity) {
|
|
147
|
+
for (const field of entity.Fields) {
|
|
148
|
+
fields.set(field.Name, {
|
|
149
|
+
type: mapSQLTypeToJSType(field.Type),
|
|
150
|
+
fromMetadata: true,
|
|
151
|
+
sqlType: field.Type,
|
|
152
|
+
nullable: field.AllowsNull
|
|
153
|
+
});
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
catch (error) {
|
|
158
|
+
console.warn(`Failed to load entity metadata for ${entityName}:`, error);
|
|
159
|
+
}
|
|
160
|
+
// Cache the result
|
|
161
|
+
this.entityFieldCache.set(entityName, fields);
|
|
162
|
+
return fields;
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Get query field types from spec
|
|
166
|
+
*/
|
|
167
|
+
getQueryFieldTypes(queryName, categoryPath) {
|
|
168
|
+
const queryKey = categoryPath ? `${categoryPath}/${queryName}` : queryName;
|
|
169
|
+
return this.queryFieldCache.get(queryKey);
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* Get query parameter types from spec
|
|
173
|
+
*/
|
|
174
|
+
getQueryParameters(queryName, categoryPath) {
|
|
175
|
+
const queryKey = categoryPath ? `${categoryPath}/${queryName}` : queryName;
|
|
176
|
+
return this.queryParamCache.get(queryKey);
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Enter a new scope (function, block, etc.)
|
|
180
|
+
*/
|
|
181
|
+
enterScope(scopeName) {
|
|
182
|
+
this.scopeStack.push(scopeName);
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* Exit the current scope
|
|
186
|
+
*/
|
|
187
|
+
exitScope() {
|
|
188
|
+
const scopePrefix = this.getCurrentScopePrefix();
|
|
189
|
+
// Remove all variables in this scope
|
|
190
|
+
for (const key of this.variableTypes.keys()) {
|
|
191
|
+
if (key.startsWith(scopePrefix)) {
|
|
192
|
+
this.variableTypes.delete(key);
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
this.scopeStack.pop();
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* Get the current scope prefix for variable names
|
|
199
|
+
*/
|
|
200
|
+
getCurrentScopePrefix() {
|
|
201
|
+
return this.scopeStack.length > 0 ? `${this.scopeStack.join('/')}:` : '';
|
|
202
|
+
}
|
|
203
|
+
/**
|
|
204
|
+
* Get the fully scoped name for a variable
|
|
205
|
+
*/
|
|
206
|
+
getScopedName(name) {
|
|
207
|
+
return `${this.getCurrentScopePrefix()}${name}`;
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* Set a variable's type in the current scope
|
|
211
|
+
*/
|
|
212
|
+
setVariableType(name, type) {
|
|
213
|
+
const scopedName = this.getScopedName(name);
|
|
214
|
+
this.variableTypes.set(scopedName, type);
|
|
215
|
+
}
|
|
216
|
+
/**
|
|
217
|
+
* Get a variable's type, searching from current scope up to global
|
|
218
|
+
*/
|
|
219
|
+
getVariableType(name) {
|
|
220
|
+
// First check current scope
|
|
221
|
+
const scopedName = this.getScopedName(name);
|
|
222
|
+
if (this.variableTypes.has(scopedName)) {
|
|
223
|
+
return this.variableTypes.get(scopedName);
|
|
224
|
+
}
|
|
225
|
+
// Then check parent scopes
|
|
226
|
+
for (let i = this.scopeStack.length - 1; i >= 0; i--) {
|
|
227
|
+
const prefix = this.scopeStack.slice(0, i + 1).join('/') + ':';
|
|
228
|
+
const key = `${prefix}${name}`;
|
|
229
|
+
if (this.variableTypes.has(key)) {
|
|
230
|
+
return this.variableTypes.get(key);
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
// Finally check global scope (no prefix)
|
|
234
|
+
return this.variableTypes.get(name);
|
|
235
|
+
}
|
|
236
|
+
/**
|
|
237
|
+
* Check if a variable exists in any accessible scope
|
|
238
|
+
*/
|
|
239
|
+
hasVariable(name) {
|
|
240
|
+
return this.getVariableType(name) !== undefined;
|
|
241
|
+
}
|
|
242
|
+
/**
|
|
243
|
+
* Get all variables in the current scope
|
|
244
|
+
*/
|
|
245
|
+
getCurrentScopeVariables() {
|
|
246
|
+
const prefix = this.getCurrentScopePrefix();
|
|
247
|
+
const result = new Map();
|
|
248
|
+
for (const [key, type] of this.variableTypes) {
|
|
249
|
+
if (key.startsWith(prefix)) {
|
|
250
|
+
const name = key.slice(prefix.length);
|
|
251
|
+
result.set(name, type);
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
return result;
|
|
255
|
+
}
|
|
256
|
+
/**
|
|
257
|
+
* Create TypeInfo for a RunView result
|
|
258
|
+
*/
|
|
259
|
+
createRunViewResultType(entityName, entityFields) {
|
|
260
|
+
const resultFields = new Map([
|
|
261
|
+
['Success', { type: 'boolean', fromMetadata: true }],
|
|
262
|
+
['Results', { type: 'array', fromMetadata: true }],
|
|
263
|
+
['UserViewRunID', { type: 'string', fromMetadata: true }],
|
|
264
|
+
['RowCount', { type: 'number', fromMetadata: true }],
|
|
265
|
+
['TotalRowCount', { type: 'number', fromMetadata: true }],
|
|
266
|
+
['ExecutionTime', { type: 'number', fromMetadata: true }],
|
|
267
|
+
['ErrorMessage', { type: 'string', fromMetadata: true, nullable: true }]
|
|
268
|
+
]);
|
|
269
|
+
return {
|
|
270
|
+
type: 'object',
|
|
271
|
+
fields: resultFields,
|
|
272
|
+
fromMetadata: true
|
|
273
|
+
};
|
|
274
|
+
}
|
|
275
|
+
/**
|
|
276
|
+
* Create TypeInfo for a RunQuery result
|
|
277
|
+
*/
|
|
278
|
+
createRunQueryResultType(queryName, queryFields) {
|
|
279
|
+
const resultFields = new Map([
|
|
280
|
+
['QueryID', { type: 'string', fromMetadata: true }],
|
|
281
|
+
['QueryName', { type: 'string', fromMetadata: true }],
|
|
282
|
+
['Success', { type: 'boolean', fromMetadata: true }],
|
|
283
|
+
['Results', { type: 'array', fromMetadata: true }],
|
|
284
|
+
['RowCount', { type: 'number', fromMetadata: true }],
|
|
285
|
+
['TotalRowCount', { type: 'number', fromMetadata: true }],
|
|
286
|
+
['ExecutionTime', { type: 'number', fromMetadata: true }],
|
|
287
|
+
['ErrorMessage', { type: 'string', fromMetadata: true, nullable: true }],
|
|
288
|
+
['AppliedParameters', { type: 'object', fromMetadata: true }],
|
|
289
|
+
['CacheHit', { type: 'boolean', fromMetadata: true }],
|
|
290
|
+
['CacheKey', { type: 'string', fromMetadata: true, nullable: true }],
|
|
291
|
+
['CacheTTLRemaining', { type: 'number', fromMetadata: true, nullable: true }]
|
|
292
|
+
]);
|
|
293
|
+
return {
|
|
294
|
+
type: 'object',
|
|
295
|
+
fields: resultFields,
|
|
296
|
+
fromMetadata: true
|
|
297
|
+
};
|
|
298
|
+
}
|
|
299
|
+
/**
|
|
300
|
+
* Create TypeInfo for an entity row
|
|
301
|
+
*/
|
|
302
|
+
createEntityRowType(entityName, fields) {
|
|
303
|
+
return {
|
|
304
|
+
type: 'entity-row',
|
|
305
|
+
entityName,
|
|
306
|
+
fields,
|
|
307
|
+
fromMetadata: true
|
|
308
|
+
};
|
|
309
|
+
}
|
|
310
|
+
/**
|
|
311
|
+
* Create TypeInfo for a query result row
|
|
312
|
+
*/
|
|
313
|
+
createQueryRowType(queryName, fields) {
|
|
314
|
+
return {
|
|
315
|
+
type: 'query-row',
|
|
316
|
+
queryName,
|
|
317
|
+
fields,
|
|
318
|
+
fromMetadata: true
|
|
319
|
+
};
|
|
320
|
+
}
|
|
321
|
+
/**
|
|
322
|
+
* Clear all variable types (reset context)
|
|
323
|
+
*/
|
|
324
|
+
clear() {
|
|
325
|
+
this.variableTypes.clear();
|
|
326
|
+
this.scopeStack = [];
|
|
327
|
+
}
|
|
328
|
+
/**
|
|
329
|
+
* Get debug information about current state
|
|
330
|
+
*/
|
|
331
|
+
getDebugInfo() {
|
|
332
|
+
return {
|
|
333
|
+
scopes: [...this.scopeStack],
|
|
334
|
+
variables: [...this.variableTypes.entries()]
|
|
335
|
+
};
|
|
336
|
+
}
|
|
337
|
+
}
|
|
338
|
+
exports.TypeContext = TypeContext;
|
|
339
|
+
/**
|
|
340
|
+
* Standard type definitions for common patterns
|
|
341
|
+
*/
|
|
342
|
+
exports.StandardTypes = {
|
|
343
|
+
string: { type: 'string' },
|
|
344
|
+
number: { type: 'number' },
|
|
345
|
+
boolean: { type: 'boolean' },
|
|
346
|
+
unknown: { type: 'unknown' },
|
|
347
|
+
null: { type: 'null' },
|
|
348
|
+
undefined: { type: 'undefined' },
|
|
349
|
+
function: { type: 'function' },
|
|
350
|
+
/** Array of unknown elements */
|
|
351
|
+
array: { type: 'array', arrayElementType: { type: 'unknown' } },
|
|
352
|
+
/** Generic object */
|
|
353
|
+
object: { type: 'object' },
|
|
354
|
+
};
|
|
355
|
+
/**
|
|
356
|
+
* Helper to check if two types are compatible
|
|
357
|
+
*/
|
|
358
|
+
function areTypesCompatible(expected, actual) {
|
|
359
|
+
// Unknown types are always compatible (we can't prove they're wrong)
|
|
360
|
+
if (expected.type === 'unknown' || actual.type === 'unknown') {
|
|
361
|
+
return true;
|
|
362
|
+
}
|
|
363
|
+
// Direct type match
|
|
364
|
+
if (expected.type === actual.type) {
|
|
365
|
+
return true;
|
|
366
|
+
}
|
|
367
|
+
// Null is compatible with nullable types
|
|
368
|
+
if (actual.type === 'null' && expected.nullable) {
|
|
369
|
+
return true;
|
|
370
|
+
}
|
|
371
|
+
// Entity-row and query-row are objects
|
|
372
|
+
if (expected.type === 'object' && (actual.type === 'entity-row' || actual.type === 'query-row')) {
|
|
373
|
+
return true;
|
|
374
|
+
}
|
|
375
|
+
return false;
|
|
376
|
+
}
|
|
377
|
+
exports.areTypesCompatible = areTypesCompatible;
|
|
378
|
+
/**
|
|
379
|
+
* Get a human-readable description of a type
|
|
380
|
+
*/
|
|
381
|
+
function describeType(type) {
|
|
382
|
+
if (type.entityName) {
|
|
383
|
+
return `${type.entityName} row`;
|
|
384
|
+
}
|
|
385
|
+
if (type.queryName) {
|
|
386
|
+
return `${type.queryName} result row`;
|
|
387
|
+
}
|
|
388
|
+
if (type.type === 'array' && type.arrayElementType) {
|
|
389
|
+
return `array of ${describeType(type.arrayElementType)}`;
|
|
390
|
+
}
|
|
391
|
+
return type.type;
|
|
392
|
+
}
|
|
393
|
+
exports.describeType = describeType;
|
|
394
|
+
//# sourceMappingURL=type-context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"type-context.js","sourceRoot":"","sources":["../../src/lib/type-context.ts"],"names":[],"mappings":"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"}
|