@ttsc/lint 0.27.0 → 0.28.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/lib/index.d.ts +1 -0
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/linthost/compile.go +128 -0
- package/linthost/dispatch.go +3 -1
- package/linthost/graph_nodes.go +205 -0
- package/linthost/hints.go +1 -1
- package/linthost/project_inputs.go +15 -4
- package/linthost/serve.go +19 -0
- package/package.json +2 -2
- package/rule/graph.go +150 -0
- package/src/index.ts +2 -0
package/lib/index.d.ts
CHANGED
package/lib/index.js
CHANGED
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,6CAAqC;AACrC,2DAA+C;AAC/C,6CAAqD;AACrD,sDAAyB;AACzB,6CAA4C;AAC5C,sDAAyB;AACzB,0DAA6B;AAC7B,uCAAyC;AAEzC,8EAG2C;AAG3C,kDAAgC;AAChC,qDAAmC;AAoDnC,yEAAyE;AACzE,sEAAsE;AACtE,wEAAwE;AACxE,qEAAqE;AACrE,gEAAgE;AAChE,uEAAuE;AACvE,MAAM,iBAAiB,GAAG,oBAAoB,CAAC;AAE/C;;;;;;GAMG;AACH,SAAS,gBAAgB,CAAC,SAAiB;IACzC,OAAO,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,qBAAqB,GAAG;IAC5B,kBAAkB;IAClB,gBAAgB;IAChB,iBAAiB;IACjB,iBAAiB;IACjB,gBAAgB;IAChB,iBAAiB;IACjB,iBAAiB;IACjB,uBAAuB;IACvB,qBAAqB;IACrB,sBAAsB;IACtB,sBAAsB;IACtB,qBAAqB;IACrB,sBAAsB;IACtB,sBAAsB;CACvB,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,cAAc,GAAG,IAAI,GAAG,CAAS;IACrC,SAAS;IACT,MAAM;IACN,OAAO;IACP,WAAW;CACZ,CAAC,CAAC;AAEH;;;;;;;;;;;;;;;;GAgBG;AACH,0BACE,OAAwD;IAExD,0BAA0B,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC3C,MAAM,cAAc,GAAG,6BAA6B,CAAC,OAAO,CAAC,CAAC;IAC9D,mEAAmE;IACnE,gEAAgE;IAChE,8DAA8D;IAC9D,MAAM,UAAU,GAAyB;QACvC,YAAY,EAAE;YACZ,iBAAiB,EAAE,IAAI;YACvB,UAAU,EAAE,IAAI;YAChB,GAAG,EAAE,IAAI;YACT,kBAAkB,EAAE,IAAI;YACxB,kBAAkB,EAAE,IAAI;YACxB,aAAa,EAAE,IAAI;YACnB,aAAa,EAAE,IAAI;YACnB,aAAa,EAAE,IAAI;SACpB;QACD,eAAe,EAAE,cAAc,CAAC,eAAe;QAC/C,kBAAkB,EAAE,cAAc,CAAC,kBAAkB;QACrD,UAAU,EAAE,cAAc,CAAC,UAAU;QACrC,IAAI,EAAE,YAAY;QAClB,4BAA4B,EAAE,IAAI;QAClC,4EAA4E;QAC5E,yEAAyE;QACzE,6CAA6C;QAC7C,MAAM,EAAE,mBAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC;QACrD,KAAK,EAAE,OAAO;KACf,CAAC;IACF,IAAI,cAAc,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3C,UAAU,CAAC,YAAY,GAAG,cAAc,CAAC,YAAY,CAAC;IACxD,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,+BAA+B,CACtC,SAAiB,EACjB,OAAwD,EACxD,SAAiB,EACjB,UAAmB;IAEnB,qEAAqE;IACrE,qEAAqE;IACrE,mEAAmE;IACnE,mEAAmE;IACnE,MAAM,MAAM,GACV,UAAU;QACV,mBAAI,CAAC,IAAI,CACP,mBAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,WAAW,CAAC,EAChD,kCAAkC,CACnC,CAAC;IACJ,MAAM,kBAAkB,GAAG,IAAA,2BAAa,EAAC,MAAM,CAAC,CAAC;IACjD,IAAI,QAAgB,CAAC;IACrB,IAAI,CAAC;QACH,QAAQ,GAAG,kBAAkB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACnD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,8CAA8C,SAAS,UAAU,SAAS,MACxE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CACvD,EAAE,CACH,CAAC;IACJ,CAAC;IACD,IAAI,GAAY,CAAC;IACjB,IAAI,CAAC;QACH,GAAG,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IACrC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,2CAA2C,SAAS,UAAU,QAAQ,KACpE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CACvD,EAAE,CACH,CAAC;IACJ,CAAC;IACD,OAAO,mBAAmB,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;AACtE,CAAC;AAuBD;;;;;;;;;;;;;;GAcG;AACH,SAAS,6BAA6B,CACpC,OAAwD;IAOxD,MAAM,UAAU,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IACjD,MAAM,kBAAkB,GACtB,UAAU,KAAK,SAAS;QACtB,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,mBAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC,CAAC;IAC7D,MAAM,SAAS,GACb,kBAAkB,KAAK,SAAS;QAC9B,CAAC,CAAC,sBAAsB,CAAC,OAAO,CAAC;QACjC,CAAC,CAAC;YACE,UAAU,EAAE,kBAAkB;YAC9B,eAAe,EAAE,kBAAkB,CAAC,CAAC,kBAAkB,CAAC,CAAC;YACzD,kBAAkB,EAAE,sBAAsB,CAAC,CAAC,kBAAkB,CAAC,CAAC;YAChE,UAAU,EAAE,CAAC,kBAAkB,CAAC;SACjC,CAAC;IACR,MAAM,EAAE,UAAU,EAAE,GAAG,SAAS,CAAC;IACjC,IAAI,CAAC,UAAU,IAAI,CAAC,iBAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9C,OAAO;YACL,YAAY,EAAE,EAAE;YAChB,eAAe,EAAE,SAAS,CAAC,eAAe;YAC1C,kBAAkB,EAAE,SAAS,CAAC,kBAAkB;YAChD,UAAU,EAAE,SAAS,CAAC,UAAU;SACjC,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,uBAAuB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAChE,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;IACnC,uCAAuC,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IAC7D,0EAA0E;IAC1E,uEAAuE;IACvE,sEAAsE;IACtE,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IACnC,MAAM,GAAG,GAA4B,EAAE,CAAC;IACxC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,gBAAgB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACjD,IAAI,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC;YAAE,SAAS;QACnC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACrB,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IACnD,CAAC;IACD,MAAM,gBAAgB,GAAG,UAAU,CAAC,YAAY;SAC7C,MAAM,CACL,CAAC,UAAU,EAAE,EAAE,CACb,UAAU,CAAC,KAAK,KAAK,OAAO,IAAI,UAAU,CAAC,IAAI,KAAK,WAAW,CAClE;SACA,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,eAAe,GAAG,EAAE,GAAG,SAAS,CAAC,eAAe,EAAE,CAAC;IACzD,MAAM,kBAAkB,GAAG,EAAE,GAAG,SAAS,CAAC,kBAAkB,EAAE,CAAC;IAC/D,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAU,CAAC;IAC5C,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;IACzC,MAAM,qBAAqB,GAAG,IAAA,wBAAU,EAAC,QAAQ,CAAC;SAC/C,MAAM,CAAC,WAAW,CAAC;SACnB,MAAM,CAAC,KAAK,CAAC,CAAC;IACjB,MAAM,wBAAwB,GAAG,IAAA,wBAAU,EAAC,QAAQ,CAAC;SAClD,MAAM,CAAC,6BAA6B,CAAC;SACrC,MAAM,CAAC,KAAK,CAAC,CAAC;IACjB,KAAK,MAAM,UAAU,IAAI,UAAU,CAAC,YAAY,EAAE,CAAC;QACjD,IAAI,UAAU,CAAC,KAAK,KAAK,OAAO,IAAI,UAAU,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YACpE,SAAS;QACX,CAAC;QACD,MAAM,KAAK,GAAG,mBAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;QACrC,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE,CAAC;YAC/B,OAAO,kBAAkB,CAAC,KAAK,CAAC,CAAC;YACjC,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;YAC9B,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC7B,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC1B,SAAS;QACX,CAAC;QACD,IACE,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,kBAAkB,EAAE,KAAK,CAAC;YAC/D,kBAAkB,CAAC,KAAK,CAAC,KAAK,QAAQ,EACtC,CAAC;YACD,OAAO,kBAAkB,CAAC,KAAK,CAAC,CAAC;YACjC,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;YAC9B,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC;aAAM,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACzC,kBAAkB,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC;QACvC,CAAC;QACD,IAAI,IAA+B,CAAC;QACpC,IACE,UAAU,CAAC,IAAI,KAAK,MAAM;YAC1B,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EACxC,CAAC;YACD,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC;QAC3B,CAAC;aAAM,IAAI,UAAU,CAAC,MAAM,KAAK,qBAAqB,EAAE,CAAC;YACvD,oEAAoE;YACpE,uEAAuE;YACvE,IAAI,GAAG,IAAI,CAAC;QACd,CAAC;aAAM,IAAI,UAAU,CAAC,MAAM,KAAK,wBAAwB,EAAE,CAAC;YAC1D,yEAAyE;YACzE,4DAA4D;YAC5D,IAAI,GAAG,wBAAwB,CAAC;QAClC,CAAC;QACD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;YAC9B,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;aAAM,IAAI,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACrC,mEAAmE;YACnE,6DAA6D;QAC/D,CAAC;aAAM,IACL,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,eAAe,EAAE,KAAK,CAAC;YAC5D,eAAe,CAAC,KAAK,CAAC,KAAK,IAAI,EAC/B,CAAC;YACD,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;YAC9B,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;aAAM,CAAC;YACN,eAAe,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;QAChC,CAAC;IACH,CAAC;IACD,OAAO;QACL,YAAY,EAAE,GAAG;QACjB,eAAe;QACf,kBAAkB;QAClB,UAAU,EAAE,CAAC,GAAG,SAAS,CAAC,UAAU,EAAE,GAAG,gBAAgB,CAAC;KAC3D,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,SAAS,kBAAkB,CACzB,MAAyB;IAEzB,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACnB,MAAM,IAAI,GAAG,mBAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,CAAC;YACH,IAAI,iBAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;gBACpC,OAAO;oBACL,IAAI;oBACJ,IAAA,wBAAU,EAAC,QAAQ,CAAC;yBACjB,MAAM,CAAC,6BAA6B,CAAC;yBACrC,MAAM,CAAC,KAAK,CAAC;iBACR,CAAC;YACb,CAAC;YACD,OAAO;gBACL,IAAI;gBACJ,IAAA,wBAAU,EAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,iBAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aACxD,CAAC;QACb,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC,IAAI,EAAE,IAAI,CAAU,CAAC;QAC/B,CAAC;IACH,CAAC,CAAC,CACH,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAY;IACrC,IAAI,CAAC;QACH,OAAO,iBAAE,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,sBAAsB,CAC7B,MAAyB;IAEzB,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACnB,MAAM,IAAI,GAAG,mBAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACjC,OAAO,CAAC,IAAI,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAU,CAAC;IAClD,CAAC,CAAC,CACH,CAAC;AACJ,CAAC;AAED,gFAAgF;AAChF,SAAS,sBAAsB,CAC7B,OAAwD;IAOxD,MAAM,eAAe,GAAkC,EAAE,CAAC;IAC1D,MAAM,kBAAkB,GAAkC,EAAE,CAAC;IAC7D,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,MAAM,gBAAgB,GAAG,CAAC,UAA6B,EAAQ,EAAE;QAC/D,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,MAAM,QAAQ,GAAG,mBAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACzC,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,eAAe,EAAE,QAAQ,CAAC,EAAE,CAAC;gBACpE,SAAS;YACX,CAAC;YACD,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC1B,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC/D,MAAM,CAAC,MAAM,CAAC,kBAAkB,EAAE,sBAAsB,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACxE,CAAC;IACH,CAAC,CAAC;IACF,KAAK,MAAM,MAAM,IAAI,uBAAuB,CAAC,OAAO,CAAC,EAAE,CAAC;QACtD,KAAK,IAAI,SAAS,GAAG,MAAM,GAAI,SAAS,GAAG,mBAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YACnE,MAAM,UAAU,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACpD,mBAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAC3B,CAAC;YACF,gBAAgB,CAAC,UAAU,CAAC,CAAC;YAC7B,MAAM,OAAO,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;YAC/C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzB,OAAO;oBACL,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;oBACtB,eAAe;oBACf,kBAAkB;oBAClB,UAAU;iBACX,CAAC;YACJ,CAAC;YACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,MAAM,IAAI,KAAK,CACb,mDAAmD,SAAS,KAAK,OAAO;qBACrE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,mBAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;qBAClC,IAAI,CAAC,IAAI,CAAC,gCAAgC,CAC9C,CAAC;YACJ,CAAC;YACD,MAAM,MAAM,GAAG,mBAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACvC,IAAI,MAAM,KAAK,SAAS;gBAAE,MAAM;QAClC,CAAC;IACH,CAAC;IACD,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,UAAU,EAAE,CAAC;AAC7D,CAAC;AAED,SAAS,uCAAuC,CAC9C,OAA4B,EAC5B,UAAkB;IAElB,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAuB,CAAC;IAC1D,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,gBAAgB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACjD,IAAI,UAAU,GAAG,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAChD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;YAC/B,kBAAkB,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAC7C,CAAC;QACD,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAClC,CAAC;IACD,MAAM,UAAU,GAAG,CAAC,GAAG,kBAAkB,CAAC;SACvC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,IAAI,EAAE,CAAU,CAAC;SACxE,MAAM,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;SACjD,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;IACxD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAEpC,MAAM,OAAO,GAAG,UAAU;SACvB,GAAG,CACF,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,EAAE,CACvB,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CACtH;SACA,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,MAAM,IAAI,KAAK,CACb,2BAA2B,UAAU,2DAA2D,OAAO,EAAE,CAC1G,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAS,0BAA0B,CAAC,KAA4B;IAC9D,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAgC,CAAC,EAAE,CAAC;QAChE,IAAI,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,YAAY,EAAE,CAAC;YACpD,SAAS;QACX,CAAC;QACD,MAAM,IAAI,KAAK,CACb,8DAA8D,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI;YACnF,oDAAoD;YACpD,uEAAuE;YACvE,2EAA2E,CAC9E,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,oBAAoB,CAC3B,OAAwD;IAExD,MAAM,KAAK,GAAI,OAAO,CAAC,MAAmC,CAAC,UAAU,CAAC;IACtE,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpD,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;IAC9E,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,uBAAuB,CAC9B,OAAwD;IAExD,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;QAC5B,OAAO,CAAC,mBAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC;IACrE,CAAC;IACD,MAAM,WAAW,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IAC7C,MAAM,GAAG,GAAG,mBAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC;IAC7D,OAAO,WAAW,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;AAClE,CAAC;AAED,uEAAuE;AACvE,SAAS,mBAAmB,CAAC,SAAiB;IAC5C,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,MAAM,IAAI,IAAI,qBAAqB,EAAE,CAAC;QACzC,MAAM,SAAS,GAAG,mBAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAC7C,IAAI,CAAC;YACH,yEAAyE;YACzE,qEAAqE;YACrE,yEAAyE;YACzE,sEAAsE;YACtE,8DAA8D;YAC9D,IAAI,CAAC,iBAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE;gBAAE,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACrE,CAAC;QAAC,MAAM,CAAC;YACP,uEAAuE;QACzE,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;GAMG;AACH,SAAS,mBAAmB,CAC1B,OAAwD;IAExD,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;QAC5B,OAAO,mBAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;IACnE,CAAC;IACD,OAAO,eAAe,CAAC,OAAO,CAAC,CAAC;AAClC,CAAC;AAED,SAAS,eAAe,CACtB,OAAwD;IAExD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,WAAW,CAAC;IAC/C,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACrB,OAAO,mBAAI,CAAC,OAAO,CACjB,mBAAI,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC;YAC/B,CAAC,CAAC,OAAO,CAAC,QAAQ;YAClB,CAAC,CAAC,mBAAI,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAC,CACrC,CAAC;IACJ,CAAC;IACD,OAAO,mBAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AAC3B,CAAC;AAED,SAAS,uBAAuB,CAC9B,UAAkB,EAClB,OAAwD;IAExD,6EAA6E;IAC7E,6EAA6E;IAC7E,4EAA4E;IAC5E,6EAA6E;IAC7E,0EAA0E;IAC1E,8EAA8E;IAC9E,+CAA+C;IAC/C,IAAI,+BAA+B,CAAC,UAAU,CAAC,EAAE,CAAC;QAChD,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IAC3C,CAAC;IACD,6EAA6E;IAC7E,8EAA8E;IAC9E,0EAA0E;IAC1E,SAAS;IACT,OAAO,qBAAqB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;AACpD,CAAC;AAED,SAAS,+BAA+B,CAAC,UAAkB;IACzD,IAAI,mBAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,KAAK,OAAO;QAAE,OAAO,KAAK,CAAC;IACrE,IAAI,CAAC;QACH,MAAM,KAAK,GAAY,IAAI,CAAC,KAAK,CAAC,iBAAE,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;QACvE,OAAO,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAAC;IAC7C,CAAC;IAAC,MAAM,CAAC;QACP,uEAAuE;QACvE,+DAA+D;QAC/D,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,2BAA2B,CAAC,KAAc;IACjD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAAC,CAAC;IACnE,CAAC;IACD,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC9D,MAAM,MAAM,GAAG,KAAgC,CAAC;IAChD,KAAK,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC;QACzC,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;IAC/D,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,sEAAsE;AACtE,sEAAsE;AACtE,0EAA0E;AAC1E,4EAA4E;AAC5E,yEAAyE;AACzE,4EAA4E;AAC5E,sEAAsE;AACtE;;;;;;GAMG;AACU,QAAA,qBAAqB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0xCpC,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,SAAS,qBAAqB,CAC5B,UAAkB,EAClB,OAAwD;IAExD,MAAM,cAAc,GAAG,mBAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC;IAClE,MAAM,QAAQ,GAAG,cAAc,CAAC,YAAY,cAAc,EAAE,EAAE,UAAU,CAAC,CAAC;IAC1E,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,MAAM,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAC;QAC/C,mEAAmE;QACnE,iEAAiE;QACjE,oEAAoE;QACpE,gEAAgE;QAChE,IACE,MAAM;YACN,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,wBAAwB,CAAC;YAC9C,4BAA4B,CAAC,MAAM,CAAC,YAAY,CAAC,EACjD,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC;IACD,4EAA4E;IAC5E,2EAA2E;IAC3E,wEAAwE;IACxE,6CAA6C;IAC7C,IAAI,UAAkC,CAAC;IACvC,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC;QAC7C,UAAU,GAAG,yBAAyB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAC5D,IAAI,4BAA4B,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YAC1D,IAAI,QAAQ;gBAAE,sBAAsB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YAC3D,OAAO,UAAU,CAAC;QACpB,CAAC;IACH,CAAC;IACD,OAAO,UAAW,CAAC;AACrB,CAAC;AAED;;;;;GAKG;AACH,SAAS,wBAAwB,CAAC,KAAc;IAC9C,IACE,KAAK,IAAI,IAAI;QACb,OAAO,KAAK,KAAK,QAAQ;QACzB,OAAQ,KAA2B,CAAC,SAAS,KAAK,QAAQ;QAC1D,OAAQ,KAA2B,CAAC,MAAM,KAAK,QAAQ,EACvD,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,KAA0B,CAAC;IACzD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,mBAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACnE,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,CAAC;QACH,OAAO,iBAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;IAC3C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,yBAAyB,CAChC,UAAkB,EAClB,OAAwD;IAExD,MAAM,OAAO,GAAG,4BAA4B,CAC1C,gBAAgB,EAChB,cAAc,CAAC,UAAU,CAAC,CAC3B,CAAC;IACF,IAAI,CAAC;QACH,sBAAsB,CAAC,OAAO,EAAE,mBAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;QAC1D,MAAM,UAAU,GAAG,mBAAI,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QACpD,MAAM,UAAU,GAAG,mBAAI,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QACrD,MAAM,YAAY,GAAG,mBAAI,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QACzD,MAAM,YAAY,GAAG,QAAA,qBAAqB,CAAC,OAAO,CAChD,iBAAiB,EACjB,IAAI,CAAC,SAAS,CAAC,IAAA,wBAAa,EAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAC/C;aACE,OAAO,CAAC,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;aACtD,OAAO,CACN,eAAe,EACf,IAAI,CAAC,SAAS,CAAC,mBAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,CAC3D,CAAC;QACJ,iBAAE,CAAC,aAAa,CAAC,UAAU,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;QACnD,iBAAE,CAAC,aAAa,CACd,YAAY,EACZ,IAAI,CAAC,SAAS,CACZ;YACE,eAAe,EAAE;gBACf,0DAA0D;gBAC1D,0DAA0D;gBAC1D,4DAA4D;gBAC5D,2DAA2D;gBAC3D,4DAA4D;gBAC5D,0BAA0B,EAAE,IAAI;gBAChC,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,KAAK;gBACd,kEAAkE;gBAClE,oEAAoE;gBACpE,mEAAmE;gBACnE,iEAAiE;gBACjE,iEAAiE;gBACjE,8CAA8C;gBAC9C,MAAM,EAAE,kBAAkB,CAAC,UAAU,CAAC;gBACtC,gBAAgB,EAAE,SAAS;gBAC3B,aAAa,EAAE,KAAK;gBACpB,MAAM,EAAE,mBAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;gBACrD,+BAA+B,EAAE,IAAI;gBACrC,OAAO,EAAE,mBAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;gBACrD,YAAY,EAAE,IAAI;gBAClB,MAAM,EAAE,KAAK;gBACb,MAAM,EAAE,QAAQ;gBAChB,oEAAoE;gBACpE,oEAAoE;gBACpE,mEAAmE;gBACnE,8DAA8D;gBAC9D,qEAAqE;gBACrE,KAAK,EAAE,CAAC,GAAG,CAAC;aACb;YACD,KAAK,EAAE;gBACL,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;gBAC9B,GAAG,CAAC,mBAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,KAAK,OAAO;oBACpD,CAAC,CAAC,EAAE;oBACJ,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;aACtC;SACF,EACD,IAAI,EACJ,CAAC,CACF,EACD,MAAM,CACP,CAAC;QAEF,4EAA4E;QAC5E,2EAA2E;QAC3E,0EAA0E;QAC1E,yEAAyE;QACzE,MAAM,UAAU,GAAG,mBAAmB,CAAC,CAAC,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;QACtE,qEAAqE;QACrE,kEAAkE;QAClE,8DAA8D;QAC9D,8DAA8D;QAC9D,iEAAiE;QACjE,oEAAoE;QACpE,MAAM,IAAI,GAAG;YACX,WAAW;YACX,YAAY;YACZ,OAAO;YACP,OAAO;YACP,cAAc;YACd,UAAU;SACX,CAAC;QACF,MAAM,UAAU,GAAG,iBAAiB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAC1D,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QACvC,CAAC;QACD,MAAM,GAAG,GAAG;YACV,GAAG,mBAAmB,CAAC,UAAU,CAAC;SACnC,CAAC;QACF,MAAM,OAAO,GAAG,uBAAuB,CAAC,UAAU,CAAC,CAAC;QACpD,MAAM,MAAM,GAAG,IAAA,8BAAS,EAAC,OAAO,CAAC,MAAM,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE;YACrE,GAAG,EAAE,OAAO;YACZ,GAAG;YACH,oEAAoE;YACpE,uEAAuE;YACvE,oEAAoE;YACpE,qEAAqE;YACrE,2EAA2E;YAC3E,KAAK,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;YACvB,WAAW,EAAE,IAAI;SAClB,CAAC,CAAC;QACH,MAAM,cAAc,GAAG,IAAA,sDAA6B,EAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QACzE,IAAI,cAAc,EAAE,CAAC;YACnB,0EAA0E;YAC1E,0EAA0E;YAC1E,mCAAmC;YACnC,MAAM,MAAM,GAAG,IAAA,qDAA4B,EAAC,UAAU,CAAC,CAAC;YACxD,MAAM,MAAM,KAAK,EAAE;gBACjB,CAAC,CAAC,cAAc;gBAChB,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,cAAc,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC,CAAC;QACxD,CAAC;QACD,IAAI,OAGH,CAAC;QACF,IAAI,CAAC;YACH,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAE,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAGvD,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CACb,2BAA2B,UAAU,qCACnC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CACvD,EAAE,CACH,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CACb,2BAA2B,UAAU,2CAA2C,CACjF,CAAC;QACJ,CAAC;QACD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YAC5C,2DAA2D;YAC3D,iEAAiE;YACjE,gEAAgE;YAChE,gDAAgD;YAChD,IACE,KAAK,KAAK,IAAI;gBACd,OAAO,KAAK,KAAK,QAAQ;gBACzB,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,EACnC,CAAC;gBACD,MAAM,IAAI,KAAK,CACb,2BAA2B,UAAU,8CAA8C,CACpF,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC7C,MAAM,IAAI,KAAK,CACb,2BAA2B,UAAU,cAAc,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,kCAAkC,CACrH,CAAC;YACJ,CAAC;YACD,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAClE,MAAM,IAAI,KAAK,CACb,2BAA2B,UAAU,WAAW,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,mCAAmC,CACnH,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,mBAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;gBACnC,MAAM,IAAI,KAAK,CACb,2BAA2B,UAAU,WAAW,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,mCAAmC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CACjJ,CAAC;YACJ,CAAC;YACD,IACE,CAAC,iBAAE,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC;gBAC5B,CAAC,iBAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,EACxC,CAAC;gBACD,MAAM,IAAI,KAAK,CACb,2BAA2B,UAAU,WAAW,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,4CAA4C,KAAK,CAAC,MAAM,EAAE,CAC1I,CAAC;YACJ,CAAC;YACD,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;QAC9D,CAAC,CAAC,CAAC;QACH,MAAM,YAAY,GAAG,qCAAqC,CACxD,OAAO,CAAC,YAAY,CACrB,CAAC;QACF,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CACb,2BAA2B,UAAU,uDAAuD,CAC7F,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC;IACnC,CAAC;YAAS,CAAC;QACT,uBAAuB,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,+EAA+E;AAC/E,+EAA+E;AAE/E,iEAAiE;AACjE,SAAS,4BAA4B,CAAC,MAAc,EAAE,MAAc;IAClE,MAAM,cAAc,GAAG,iBAAE,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACtD,IAAI,CAAC,iBAAE,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CACb,8DAA8D,cAAc,EAAE,CAC/E,CAAC;IACJ,CAAC;IACD,MAAM,SAAS,GAAG,iBAAE,CAAC,WAAW,CAAC,mBAAI,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC;IACpE,IAAI,CAAC,iBAAE,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CACb,kEAAkE,SAAS,EAAE,CAC9E,CAAC;IACJ,CAAC;IACD,MAAM,iBAAiB,GAAG,iBAAE,CAAC,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC5D,IAAI,mBAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,KAAK,cAAc,EAAE,CAAC;QACvD,MAAM,IAAI,KAAK,CACb,gEAAgE,iBAAiB,EAAE,CACpF,CAAC;IACJ,CAAC;IACD,OAAO,iBAAiB,CAAC;AAC3B,CAAC;AAED;;;GAGG;AACH,MAAM,oBAAoB,GAAG,IAAI,CAAC;AAElC;;;;GAIG;AACH,SAAS,cAAc;IACrB,OAAO,mBAAI,CAAC,IAAI,CAAC,iBAAE,CAAC,MAAM,EAAE,EAAE,wBAAwB,CAAC,CAAC;AAC1D,CAAC;AAED,gFAAgF;AAChF,SAAS,mBAAmB;IAC1B,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;AAC7D,CAAC;AAED;;;;;GAKG;AACH,SAAS,cAAc,CAAC,IAAY,EAAE,UAAkB;IACtD,IAAI,mBAAmB,EAAE;QAAE,OAAO,EAAE,CAAC;IACrC,IAAI,OAAe,CAAC;IACpB,IAAI,CAAC;QACH,OAAO,GAAG,iBAAE,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;IACxC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,IAAA,wBAAU,EAAC,QAAQ,CAAC;SACxB,MAAM,CAAC,oBAAoB,CAAC;SAC5B,MAAM,CAAC,IAAI,CAAC;SACZ,MAAM,CAAC,IAAI,CAAC;SACZ,MAAM,CAAC,IAAI,CAAC;SACZ,MAAM,CAAC,mBAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;SAChC,MAAM,CAAC,IAAI,CAAC;SACZ,MAAM,CAAC,OAAO,CAAC;SACf,MAAM,CAAC,KAAK,CAAC,CAAC;AACnB,CAAC;AAED;;;;GAIG;AACH,SAAS,qBAAqB,CAC5B,QAAgB;IAEhB,IAAI,IAAY,CAAC;IACjB,IAAI,CAAC;QACH,IAAI,GAAG,iBAAE,CAAC,YAAY,CACpB,mBAAI,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,GAAG,QAAQ,OAAO,CAAC,EAC/C,MAAM,CACP,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,CAAC;QACH,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACzC,IACE,MAAM,KAAK,IAAI;YACf,OAAO,MAAM,KAAK,QAAQ;YAC1B,CAAC,KAAK,CAAC,OAAO,CAAE,MAAiC,CAAC,OAAO,CAAC;YAC1D,CAAC,KAAK,CAAC,OAAO,CAAE,MAAiC,CAAC,YAAY,CAAC,EAC/D,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,YAAY,GAAG,qCAAqC,CACvD,MAAiC,CAAC,YAAY,CAChD,CAAC;QACF,IAAI,YAAY,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QACjD,OAAO;YACL,YAAY;YACZ,OAAO,EAAG,MAAiC,CAAC,OAAO;SACpD,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAS,sBAAsB,CAC7B,QAAgB,EAChB,UAAkC;IAElC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,cAAc,EAAE,CAAC;QAC7B,iBAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACvC,MAAM,GAAG,GAAG,mBAAI,CAAC,IAAI,CACnB,GAAG,EACH,GAAG,QAAQ,IAAI,OAAO,CAAC,GAAG,IAAI,IAAA,wBAAU,GAAE,MAAM,CACjD,CAAC;QACF,IAAI,CAAC;YACH,iBAAE,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,CAAC;YAC1D,iBAAE,CAAC,UAAU,CAAC,GAAG,EAAE,mBAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,OAAO,CAAC,CAAC,CAAC;QACzD,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC;gBACH,iBAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YACrB,CAAC;YAAC,MAAM,CAAC;gBACP,2DAA2D;YAC7D,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,4DAA4D;IAC9D,CAAC;AACH,CAAC;AAED,SAAS,qCAAqC,CAC5C,KAAc;IAEd,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAClE,MAAM,YAAY,GAAG,IAAI,GAAG,EAAuC,CAAC;IACpE,KAAK,MAAM,SAAS,IAAI,KAAK,EAAE,CAAC;QAC9B,IACE,SAAS,KAAK,IAAI;YAClB,OAAO,SAAS,KAAK,QAAQ;YAC7B,OAAQ,SAAyC,CAAC,IAAI,KAAK,QAAQ;YACnE,OAAQ,SAAyC,CAAC,MAAM,KAAK,QAAQ;YACrE,OAAQ,SAAyC,CAAC,cAAc;gBAC9D,SAAS;YACX,CAAE,SAAyC,CAAC,QAAQ,KAAK,IAAI;gBAC3D,CAAC,OAAQ,SAAyC,CAAC,QAAQ;oBACzD,QAAQ;oBACR,CAAC,mBAAI,CAAC,UAAU,CACb,SAAyC,CAAC,QAAkB,CAC9D,CAAC,CAAC;YACP,CAAC,CAAC,WAAW,EAAE,MAAM,EAAE,eAAe,CAAC,CAAC,QAAQ,CAC7C,SAAyC,CAAC,IAAI,CAChD;YACD,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,QAAQ,CACzB,SAAyC,CAAC,KAAK,CACjD,EACD,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,aAAa,GAAI,SAAyC,CAAC,IAAI,CAAC;QACtE,MAAM,MAAM,GAAI,SAAyC,CAAC,MAAM,CAAC;QACjE,MAAM,IAAI,GAAI,SAAyC,CAAC,IAAI,CAAC;QAC7D,MAAM,cAAc,GAAI,SAAyC;aAC9D,cAAc,CAAC;QAClB,MAAM,QAAQ,GAAI,SAAyC,CAAC,QAAQ,CAAC;QACrE,MAAM,KAAK,GAAI,SAAyC,CAAC,KAAK,CAAC;QAC/D,IACE,CAAC,mBAAI,CAAC,UAAU,CAAC,aAAa,CAAC;YAC/B,CAAC,MAAM,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EACjD,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,QAAQ,GAAG,mBAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAC7C,uEAAuE;QACvE,yEAAyE;QACzE,uEAAuE;QACvE,wEAAwE;QACxE,QAAQ;QACR,MAAM,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,QAAQ,CAAC;QACnC,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACvC,IACE,QAAQ,KAAK,SAAS;YACtB,CAAC,QAAQ,CAAC,MAAM,KAAK,MAAM;gBACzB,QAAQ,CAAC,cAAc,KAAK,cAAc;gBAC1C,QAAQ,CAAC,IAAI,KAAK,IAAI;gBACtB,QAAQ,CAAC,QAAQ,KAAK,QAAQ;gBAC9B,QAAQ,CAAC,KAAK,KAAK,KAAK,CAAC,EAC3B,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE;YACpB,MAAM;YACN,cAAc;YACd,IAAI;YACJ,IAAI,EAAE,QAAQ;YACd,QAAQ;YACR,KAAK;SACN,CAAC,CAAC;IACL,CAAC;IACD,OAAO,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CACrD,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CACpC,CAAC;AACJ,CAAC;AAED,SAAS,4BAA4B,CACnC,YAAoD;IAEpD,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC5C,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,EAAE;QACvC,IACE,CAAC,UAAU,CAAC,cAAc;YAC1B,UAAU,CAAC,QAAQ,KAAK,iBAAiB,CAAC,UAAU,CAAC,IAAI,CAAC,EAC1D,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;YAAE,OAAO,KAAK,CAAC;QAC5D,IAAI,CAAC;YACH,MAAM,MAAM,GACV,UAAU,CAAC,IAAI,KAAK,WAAW;gBAC7B,CAAC,CAAC,qBAAqB,CAAC,UAAU,CAAC,IAAI,CAAC;gBACxC,CAAC,CAAC,UAAU,CAAC,IAAI,KAAK,eAAe;oBACnC,CAAC,CAAC,wBAAwB,CAAC,UAAU,CAAC,IAAI,CAAC;oBAC3C,CAAC,CAAC,IAAA,wBAAU,EAAC,QAAQ,CAAC;yBACjB,MAAM,CAAC,iBAAE,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;yBACxC,MAAM,CAAC,KAAK,CAAC,CAAC;YACzB,OAAO,MAAM,KAAK,UAAU,CAAC,MAAM,CAAC;QACtC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,qBAAqB,CAAC,QAAgB;IAC7C,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,KAAK,MAAM,KAAK,IAAI,iBAAE,CAAC,WAAW,CAAC,QAAQ,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;YACtE,IAAI,MAAM,GAAG,oBAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC7B,IAAI,KAAK,CAAC,cAAc,EAAE,EAAE,CAAC;gBAC3B,IAAI,CAAC;oBACH,MAAM,GAAG,oBAAM,CAAC,IAAI,CAClB,iBAAE,CAAC,YAAY,CAAC,mBAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,EAChD,MAAM,CACP,CAAC;gBACJ,CAAC;gBAAC,MAAM,CAAC;oBACP,MAAM,GAAG,oBAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBACvC,CAAC;YACH,CAAC;YACD,OAAO,CAAC,IAAI,CACV,2BAA2B,CAAC,oBAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CACpE,CAAC;QACJ,CAAC;IACH,CAAC;SAAM,CAAC;QACN,KAAK,MAAM,KAAK,IAAI,iBAAE,CAAC,WAAW,CAAC,QAAQ,EAAE;YAC3C,QAAQ,EAAE,QAAQ;YAClB,aAAa,EAAE,IAAI;SACpB,CAAC,EAAE,CAAC;YACH,IAAI,MAAM,GAAG,oBAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC7B,IAAI,KAAK,CAAC,cAAc,EAAE,EAAE,CAAC;gBAC3B,IAAI,CAAC;oBACH,MAAM,GAAG,iBAAE,CAAC,YAAY,CACtB,oBAAM,CAAC,MAAM,CAAC;wBACZ,oBAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;wBACrB,oBAAM,CAAC,IAAI,CAAC,mBAAI,CAAC,GAAG,CAAC;wBACrB,KAAK,CAAC,IAAI;qBACX,CAAC,EACF,EAAE,QAAQ,EAAE,QAAQ,EAAE,CACvB,CAAC;gBACJ,CAAC;gBAAC,MAAM,CAAC;oBACP,MAAM,GAAG,oBAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBACvC,CAAC;YACH,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,2BAA2B,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,oBAAM,CAAC,OAAO,CAAC,CAAC;IAC7B,MAAM,UAAU,GAAG,oBAAM,CAAC,MAAM,CAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAC/B,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAClD,CACF,CAAC;IACF,OAAO,IAAA,wBAAU,EAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC/D,CAAC;AAED,SAAS,2BAA2B,CAClC,IAAY,EACZ,KAIC,EACD,MAAc;IAEd,MAAM,IAAI,GAAG,KAAK,CAAC,WAAW,EAAE;QAC9B,CAAC,CAAC,WAAW;QACb,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE;YACd,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,KAAK,CAAC,cAAc,EAAE;gBACtB,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,OAAO,CAAC;IAChB,OAAO,oBAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,oBAAM,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;AACxE,CAAC;AAED,SAAS,wBAAwB,CAAC,QAAgB;IAChD,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,iBAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACpC,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;YACnB,OAAO,IAAA,wBAAU,EAAC,QAAQ,CAAC;iBACxB,MAAM,CACL,oBAAM,CAAC,MAAM,CAAC,CAAC,oBAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,iBAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAClE;iBACA,MAAM,CAAC,KAAK,CAAC,CAAC;QACnB,CAAC;QACD,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,OAAO,IAAA,wBAAU,EAAC,QAAQ,CAAC;iBACxB,MAAM,CAAC,6BAA6B,CAAC;iBACrC,MAAM,CAAC,KAAK,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,4DAA4D;IAC9D,CAAC;IACD,OAAO,IAAA,wBAAU,EAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAChE,CAAC;AAED,+EAA+E;AAC/E,iBAAiB;AACjB,+EAA+E;AAE/E,SAAS,8BAA8B,CACrC,KAAc;IAEd,MAAM,GAAG,GAA8B,EAAE,CAAC;IAC1C,MAAM,KAAK,GAAG,CAAC,IAAa,EAAQ,EAAE;QACpC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,KAAK,MAAM,IAAI,IAAI,IAAI;gBAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YACrC,OAAO;QACT,CAAC;QACD,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI;YAAE,OAAO;QACtD,MAAM,GAAG,GAAG,IAA+B,CAAC;QAC5C,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;QAC5B,IACE,OAAO,OAAO,KAAK,QAAQ;YAC3B,OAAO,KAAK,IAAI;YAChB,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EACvB,CAAC;YACD,GAAG,CAAC,IAAI,CAAC,OAAkC,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC,CAAC;IACF,KAAK,CAAC,KAAK,CAAC,CAAC;IACb,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,oBAAoB,CAC3B,SAAiB,EACjB,KAAc,EACd,UAAkB;IAElB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CACb,2BAA2B,UAAU,cAAc,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,kCAAkC,CAC/G,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,iEAAiE;QACjE,gEAAgE;QAChE,qBAAqB;QACrB,MAAM,iBAAiB,GAAG,IAAA,2BAAa,EAAC,UAAU,CAAC,CAAC;QACpD,IAAI,QAAgB,CAAC;QACrB,IAAI,CAAC;YACH,QAAQ,GAAG,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC9C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CACb,2BAA2B,UAAU,WAAW,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,uBAAuB,KAAK,MACnG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CACvD,EAAE,CACH,CAAC;QACJ,CAAC;QACD,IAAI,GAAY,CAAC;QACjB,IAAI,CAAC;YACH,GAAG,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QACpC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CACb,2BAA2B,UAAU,WAAW,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,wBAAwB,QAAQ,KACvG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CACvD,EAAE,CACH,CAAC;QACJ,CAAC;QACD,MAAM,MAAM,GAAG,mBAAmB,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;QAC5E,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;IAC9C,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG,mBAAmB,CAAC,KAAK,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;QACjE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;IAC9C,CAAC;IACD,MAAM,IAAI,KAAK,CACb,2BAA2B,UAAU,WAAW,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,qDAAqD,OAAO,KAAK,EAAE,CAC7I,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAC1B,SAAkB,EAClB,SAAiB,EACjB,MAAc;IAEd,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;QACxD,MAAM,IAAI,KAAK,CACb,4BAA4B,SAAS,iBAAiB,MAAM,2BAA2B,CACxF,CAAC;IACJ,CAAC;IACD,MAAM,GAAG,GAAG,SAAoC,CAAC;IACjD,IAAI,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9D,MAAM,IAAI,KAAK,CACb,4BAA4B,SAAS,UAAU,MAAM,qCAAqC,CAC3F,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,mBAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CACb,4BAA4B,SAAS,UAAU,MAAM,2CAA2C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,qCAAqC,CAChK,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,iBAAE,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;QACzE,MAAM,IAAI,KAAK,CACb,4BAA4B,SAAS,UAAU,MAAM,4CAA4C,GAAG,CAAC,MAAM,EAAE,CAC9G,CAAC;IACJ,CAAC;IACD,OAAO,GAAiC,CAAC;AAC3C,CAAC;AAED,SAAS,aAAa,CAAC,GAAY;IACjC,IAAI,OAAO,GAAY,GAAG,CAAC;IAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,IACE,OAAO,KAAK,IAAI;YAChB,OAAO,OAAO,KAAK,QAAQ;YAC3B,SAAS,IAAI,OAAO,EACpB,CAAC;YACD,MAAM,IAAI,GAAI,OAAmC,CAAC,OAAO,CAAC;YAC1D,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvB,OAAO,GAAG,IAAI,CAAC;gBACf,SAAS;YACX,CAAC;QACH,CAAC;QACD,MAAM;IACR,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAa;IAC3C,IAAI,GAAG,GAAG,mBAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC9B,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,SAAS,GAAG,mBAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;QACjD,IAAI,iBAAE,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,iBAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;YACrE,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,MAAM,GAAG,mBAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,MAAM,KAAK,GAAG;YAAE,OAAO,SAAS,CAAC;QACrC,GAAG,GAAG,MAAM,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,kBAAkB,CAAC,UAAkB;IAC5C,MAAM,SAAS,GAAG,mBAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;IACzD,IAAI,SAAS,KAAK,KAAK,IAAI,SAAS,KAAK,MAAM,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;QACvE,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,OAAO,kBAAkB,CAAC,UAAU,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC;AAC/E,CAAC;AAED;;;;;;GAMG;AACH,SAAS,kBAAkB,CAAC,UAAkB;IAC5C,IAAI,GAAG,GAAG,mBAAI,CAAC,OAAO,CAAC,mBAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;IACjD,SAAS,CAAC;QACR,2EAA2E;QAC3E,2EAA2E;QAC3E,0EAA0E;QAC1E,IAAI,GAAuB,CAAC;QAC5B,IAAI,CAAC;YACH,GAAG,GAAG,iBAAE,CAAC,YAAY,CAAC,mBAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAAC;QAChE,CAAC;QAAC,MAAM,CAAC;YACP,GAAG,GAAG,SAAS,CAAC;QAClB,CAAC;QACD,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAY,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC1C,MAAM,IAAI,GACR,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,IAAI;oBAC/C,CAAC,CAAE,QAA+B,CAAC,IAAI;oBACvC,CAAC,CAAC,SAAS,CAAC;gBAChB,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC;YACnD,CAAC;YAAC,MAAM,CAAC;gBACP,sEAAsE;gBACtE,sEAAsE;gBACtE,OAAO,UAAU,CAAC;YACpB,CAAC;QACH,CAAC;QACD,MAAM,MAAM,GAAG,mBAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;YACnB,OAAO,UAAU,CAAC;QACpB,CAAC;QACD,GAAG,GAAG,MAAM,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,sBAAsB,CAAC,OAAe,EAAE,SAAiB;IAChE,MAAM,WAAW,GAAG,sBAAsB,CAAC,SAAS,CAAC,CAAC;IACtD,IAAI,CAAC,WAAW;QAAE,OAAO;IACzB,MAAM,IAAI,GAAG,mBAAI,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;IAChD,IAAI,CAAC;QACH,iBAAE,CAAC,WAAW,CAAC,WAAW,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;IAChD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,GAAI,KAA+B,CAAC,IAAI,CAAC;QACnD,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CACb,gDAAgD,WAAW,KACzD,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CACvD,EAAE,CACH,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAS,cAAc,CAAC,UAAkB;IACxC,MAAM,UAAU,GAAG,iBAAE,CAAC,MAAM,EAAE,CAAC;IAC/B,MAAM,UAAU,GAAG,mBAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC;IAC/C,MAAM,UAAU,GAAG,mBAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC;IAC/C,uEAAuE;IACvE,mEAAmE;IACnE,IACE,UAAU,KAAK,EAAE;QACjB,UAAU,CAAC,WAAW,EAAE,KAAK,UAAU,CAAC,WAAW,EAAE,EACrD,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;IACD,MAAM,WAAW,GAAG,sBAAsB,CAAC,mBAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;IACrE,IAAI,CAAC,WAAW;QAAE,OAAO,mBAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAClD,MAAM,IAAI,GAAG,mBAAI,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IAC9C,IAAI,CAAC;QACH,iBAAE,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACxC,oEAAoE;QACpE,sEAAsE;QACtE,mEAAmE;QACnE,oEAAoE;QACpE,qEAAqE;QACrE,MAAM,IAAI,GAAG,iBAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,mBAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,UAAU,CAAC,WAAW,EAAE,EAAE,CAAC;YACrE,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,6CAA6C;IAC/C,CAAC;IACD,OAAO,mBAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AAClC,CAAC;AAED,SAAS,mBAAmB,CAAC,UAAkB;IAC7C,MAAM,GAAG,GAAsB,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAClD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,WAAW,GAAG,sBAAsB,CAAC,mBAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;IACrE,IAAI,WAAW;QAAE,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACzC,IAAI,GAAG,CAAC,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC7C,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,GAAG,CAAC,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,mBAAI,CAAC,SAAS,CAAC,CAAC;IAC7C,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;;GAQG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,SAAS,iBAAiB,CACxB,UAAkB,EAClB,OAAwD;IAExD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,IAAI,EAAE,CAAC;IACtD,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC9B,MAAM,OAAO,GAAG;QACd,UAAU;QACV,mBAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,cAAc,CAAC;QAC9C,OAAO,CAAC,OAAO;KAChB,CAAC;IACF,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;QACtC,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,MAAM,CAAC;IAC1C,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;GAIG;AACH,SAAS,cAAc,CAAC,MAAc;IACpC,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,IAAA,2BAAa,EAAC,MAAM,CAAC,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;QAC1E,MAAM,QAAQ,GAAG,IAAA,2BAAa,EAAC,QAAQ,CAAC,CAAC,OAAO,CAC9C,0BAA0B,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,IAAI,eAAe,CAC1E,CAAC;QACF,MAAM,MAAM,GAAG,mBAAI,CAAC,IAAI,CACtB,mBAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EACtB,KAAK,EACL,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CACjD,CAAC;QACF,OAAO,iBAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;IACpD,CAAC;IAAC,MAAM,CAAC;QACP,sEAAsE;QACtE,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,OAA0B;IACrD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,IAAI,EAAE,CAAC;IACtD,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC9B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAC1C,IAAI,QAAQ,KAAK,SAAS;YAAE,OAAO,QAAQ,CAAC;IAC9C,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAc;IACtC,IAAI,CAAC;QACH,2EAA2E;QAC3E,sEAAsE;QACtE,mEAAmE;QACnE,2EAA2E;QAC3E,sBAAsB;QACtB,MAAM,QAAQ,GAAG,IAAA,2BAAa,EAAC,MAAM,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;QACpE,MAAM,QAAQ,GAAG,mBAAI,CAAC,IAAI,CACxB,mBAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EACtB,KAAK,EACL,UAAU,EACV,SAAS,CACV,CAAC;QACF,IAAI,iBAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;YAAE,OAAO,QAAQ,CAAC;IAC/C,CAAC;IAAC,MAAM,CAAC;QACP,8DAA8D;IAChE,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,uBAAuB,CAAC,MAAc;IAI7C,MAAM,GAAG,GAAG,mBAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;IAC/C,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACjE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;IACxD,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;AAChC,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,uBAAuB,CAAC,SAAiB;IAChD,IAAI,CAAC;QACH,iBAAE,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzD,CAAC;IAAC,MAAM,CAAC;QACP,eAAe;IACjB,CAAC;AACH,CAAC"}
|
package/linthost/compile.go
CHANGED
|
@@ -13,6 +13,7 @@ package linthost
|
|
|
13
13
|
|
|
14
14
|
import (
|
|
15
15
|
"context"
|
|
16
|
+
"crypto/sha256"
|
|
16
17
|
"encoding/json"
|
|
17
18
|
"errors"
|
|
18
19
|
"flag"
|
|
@@ -21,6 +22,7 @@ import (
|
|
|
21
22
|
"os"
|
|
22
23
|
"path/filepath"
|
|
23
24
|
"strings"
|
|
25
|
+
"sync"
|
|
24
26
|
"time"
|
|
25
27
|
|
|
26
28
|
shimast "github.com/microsoft/typescript-go/shim/ast"
|
|
@@ -388,6 +390,132 @@ func runProject(opts *subcommandOpts) int {
|
|
|
388
390
|
return 0
|
|
389
391
|
}
|
|
390
392
|
|
|
393
|
+
// residentRules is the resident daemon's memo of one project's loaded rule
|
|
394
|
+
// configuration, installed by RunLSPServe and nil in every one-shot process.
|
|
395
|
+
//
|
|
396
|
+
// Loading rules evaluates the project's `lint.config.ts`, which means standing
|
|
397
|
+
// up a JavaScript runtime — the dominant cost of a verb that builds no Program
|
|
398
|
+
// at all. A one-shot pays it once and exits; the daemon was paying it per
|
|
399
|
+
// request, which is per document edit for a consumer that asks again whenever a
|
|
400
|
+
// file it watches moves.
|
|
401
|
+
var residentRules *residentRuleCache
|
|
402
|
+
|
|
403
|
+
type residentRuleCache struct {
|
|
404
|
+
mu sync.Mutex
|
|
405
|
+
key string
|
|
406
|
+
resolver RuleResolver
|
|
407
|
+
configs map[string][sha256.Size]byte
|
|
408
|
+
// loads counts the evaluations this memo did not avoid.
|
|
409
|
+
//
|
|
410
|
+
// It exists because a reuse is otherwise unobservable: a RuleResolver holds
|
|
411
|
+
// maps, so it is not a comparable type and two of them cannot be asked
|
|
412
|
+
// whether they are the same one. Without a count, a memo that silently never
|
|
413
|
+
// hit would satisfy every other property asked of it.
|
|
414
|
+
loads int
|
|
415
|
+
}
|
|
416
|
+
|
|
417
|
+
// acquireRules returns the loaded rule configuration, reusing the daemon's memo
|
|
418
|
+
// while the files it was loaded from are unchanged.
|
|
419
|
+
//
|
|
420
|
+
// Validated against those files rather than trusted for the daemon's life. The
|
|
421
|
+
// configuration is a file on disk that an author edits, and a rule set the user
|
|
422
|
+
// has just changed is exactly what a resident consumer must not keep answering
|
|
423
|
+
// from. The set is small — the config and whatever it extends — so re-hashing
|
|
424
|
+
// it costs nothing beside the evaluation it avoids.
|
|
425
|
+
func acquireRules(pluginsJSON, cwd, tsconfigPath string) (RuleResolver, error) {
|
|
426
|
+
cache := residentRules
|
|
427
|
+
if cache == nil {
|
|
428
|
+
return loadRules(pluginsJSON, cwd, tsconfigPath)
|
|
429
|
+
}
|
|
430
|
+
key := strings.Join([]string{pluginsJSON, cwd, tsconfigPath}, "\x00")
|
|
431
|
+
cache.mu.Lock()
|
|
432
|
+
defer cache.mu.Unlock()
|
|
433
|
+
if cache.resolver != nil &&
|
|
434
|
+
cache.key == key &&
|
|
435
|
+
ruleConfigsUnchanged(cache.configs) {
|
|
436
|
+
return cache.resolver, nil
|
|
437
|
+
}
|
|
438
|
+
cache.loads++
|
|
439
|
+
// Noted before the load, because the load is what the recorded state has to
|
|
440
|
+
// describe. Evaluating a configuration stands up a JavaScript runtime and
|
|
441
|
+
// takes seconds, which is ample room for an author's next save to land, and
|
|
442
|
+
// a state read afterwards would describe that save rather than the resolver
|
|
443
|
+
// built from what came before it.
|
|
444
|
+
started := time.Now()
|
|
445
|
+
resolver, err := loadRules(pluginsJSON, cwd, tsconfigPath)
|
|
446
|
+
if err != nil {
|
|
447
|
+
// A failed load clears the memo rather than leaving the previous answer
|
|
448
|
+
// reachable: the next request has to see the same failure, not a rule set
|
|
449
|
+
// from before the edit that broke it.
|
|
450
|
+
cache.resolver = nil
|
|
451
|
+
cache.configs = nil
|
|
452
|
+
return nil, err
|
|
453
|
+
}
|
|
454
|
+
cache.key = key
|
|
455
|
+
cache.resolver = resolver
|
|
456
|
+
cache.configs = hashRuleConfigs(resolver, started)
|
|
457
|
+
return resolver, nil
|
|
458
|
+
}
|
|
459
|
+
|
|
460
|
+
// hashRuleConfigs records the content of every file the resolver was built
|
|
461
|
+
// from. A resolver naming none records none, and a memo with no recorded file
|
|
462
|
+
// is never reused — it could not prove anything.
|
|
463
|
+
//
|
|
464
|
+
// A file written after the load began is recorded as nothing at all. Which
|
|
465
|
+
// bytes the resolver was built from is unknowable once an edit lands inside the
|
|
466
|
+
// evaluation window, and recording the ones readable now is the one wrong
|
|
467
|
+
// answer that never corrects itself: the memo would agree with a file the
|
|
468
|
+
// resolver does not match, and every later request would pass the reuse test
|
|
469
|
+
// until some further edit happened to disagree. Declining costs one reload.
|
|
470
|
+
//
|
|
471
|
+
// After, and not "not before". A filesystem timestamp and the instant the load
|
|
472
|
+
// began are read from the same clock, whose tick is coarse on Windows, so the
|
|
473
|
+
// save an author made just before asking shares its tick with the load start
|
|
474
|
+
// far more often than not — and rejecting equality there rejects every
|
|
475
|
+
// recording the memo could ever make. The write that equality could also mean
|
|
476
|
+
// is one the load's own read, hundreds of milliseconds later behind a
|
|
477
|
+
// JavaScript runtime start, would have picked up regardless; the edit this
|
|
478
|
+
// guard is for lands well inside the evaluation and is well past the tick.
|
|
479
|
+
//
|
|
480
|
+
// Read first and stated second, in that order. A write landing between the two
|
|
481
|
+
// moves the modification time forward and is caught; stating it first would
|
|
482
|
+
// leave the window the check exists to close.
|
|
483
|
+
func hashRuleConfigs(resolver RuleResolver, started time.Time) map[string][sha256.Size]byte {
|
|
484
|
+
source, ok := resolver.(interface{ ConfigPaths() []string })
|
|
485
|
+
if !ok {
|
|
486
|
+
return nil
|
|
487
|
+
}
|
|
488
|
+
configs := map[string][sha256.Size]byte{}
|
|
489
|
+
for _, location := range source.ConfigPaths() {
|
|
490
|
+
contents, err := os.ReadFile(location)
|
|
491
|
+
if err != nil {
|
|
492
|
+
return nil
|
|
493
|
+
}
|
|
494
|
+
info, err := os.Stat(location)
|
|
495
|
+
if err != nil || info.ModTime().After(started) {
|
|
496
|
+
return nil
|
|
497
|
+
}
|
|
498
|
+
configs[location] = sha256.Sum256(contents)
|
|
499
|
+
}
|
|
500
|
+
if len(configs) == 0 {
|
|
501
|
+
return nil
|
|
502
|
+
}
|
|
503
|
+
return configs
|
|
504
|
+
}
|
|
505
|
+
|
|
506
|
+
func ruleConfigsUnchanged(configs map[string][sha256.Size]byte) bool {
|
|
507
|
+
if len(configs) == 0 {
|
|
508
|
+
return false
|
|
509
|
+
}
|
|
510
|
+
for location, recorded := range configs {
|
|
511
|
+
contents, err := os.ReadFile(location)
|
|
512
|
+
if err != nil || sha256.Sum256(contents) != recorded {
|
|
513
|
+
return false
|
|
514
|
+
}
|
|
515
|
+
}
|
|
516
|
+
return true
|
|
517
|
+
}
|
|
518
|
+
|
|
391
519
|
// loadRules decodes `--plugins-json`, locates the `@ttsc/lint` entry, and
|
|
392
520
|
// returns its resolved RuleResolver. Returns an empty RuleConfig (no rules
|
|
393
521
|
// enabled) when the lint entry is absent from the plugin manifest.
|
package/linthost/dispatch.go
CHANGED
|
@@ -76,7 +76,7 @@ func run(args []string) int {
|
|
|
76
76
|
// Don't pay contributor-registration cost for the version banner.
|
|
77
77
|
fmt.Fprintf(os.Stdout, "@ttsc/lint %s\n", Version)
|
|
78
78
|
return 0
|
|
79
|
-
case "check", "check-serve", "fix", "format", "build", "transform", "project-inputs", "lsp-command-ids", "lsp-code-action-kinds", "lsp-diagnostics", "lsp-project-diagnostics", "lsp-code-actions", "lsp-execute-command", "lsp-hints", "lsp-serve":
|
|
79
|
+
case "check", "check-serve", "fix", "format", "build", "transform", "project-inputs", "lsp-command-ids", "lsp-code-action-kinds", "lsp-diagnostics", "lsp-project-diagnostics", "lsp-code-actions", "lsp-execute-command", "lsp-hints", "graph-nodes", "lsp-serve":
|
|
80
80
|
default:
|
|
81
81
|
fmt.Fprintf(os.Stderr, "@ttsc/lint: unknown command %q\n", args[0])
|
|
82
82
|
return 2
|
|
@@ -113,6 +113,8 @@ func run(args []string) int {
|
|
|
113
113
|
return RunLSPExecuteCommand(args[1:])
|
|
114
114
|
case "lsp-hints":
|
|
115
115
|
return RunLSPHints(args[1:])
|
|
116
|
+
case "graph-nodes":
|
|
117
|
+
return RunGraphNodes(args[1:])
|
|
116
118
|
case "lsp-serve":
|
|
117
119
|
return RunLSPServe(os.Stdin, os.Stdout, args[1:])
|
|
118
120
|
}
|
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
package linthost
|
|
2
|
+
|
|
3
|
+
import (
|
|
4
|
+
"fmt"
|
|
5
|
+
"os"
|
|
6
|
+
"slices"
|
|
7
|
+
|
|
8
|
+
publicrule "github.com/samchon/ttsc/packages/lint/rule"
|
|
9
|
+
)
|
|
10
|
+
|
|
11
|
+
// RunGraphNodes prints the artifacts every project rule materialized for this
|
|
12
|
+
// project, as JSON.
|
|
13
|
+
//
|
|
14
|
+
// Like the hints verb this takes no `--uri`: a set of artifacts describes the
|
|
15
|
+
// Program, not a document. It loads a Program only when the resolved config
|
|
16
|
+
// declares a rule that can publish one, and a caller is expected to cache the
|
|
17
|
+
// answer and ask again only when the project's inputs changed.
|
|
18
|
+
//
|
|
19
|
+
// An empty set is a successful answer. A project with no publishing rule is the
|
|
20
|
+
// common case, and a caller must be able to tell it apart from a failure; a
|
|
21
|
+
// nonzero exit here would read as "the project is broken".
|
|
22
|
+
func RunGraphNodes(args []string) int {
|
|
23
|
+
opts, ok := parseLSPCommandOptions("graph-nodes", args)
|
|
24
|
+
if !ok {
|
|
25
|
+
return 2
|
|
26
|
+
}
|
|
27
|
+
nodes, code := computeGraphNodes(opts)
|
|
28
|
+
if code != 0 {
|
|
29
|
+
return code
|
|
30
|
+
}
|
|
31
|
+
return writeJSON(nodes)
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
// computeGraphNodes builds the artifact set for one project. Split from
|
|
35
|
+
// RunGraphNodes so a resident loop can reuse it over a warm Program, the same
|
|
36
|
+
// split computeLSPHints takes.
|
|
37
|
+
func computeGraphNodes(opts *lspCommandOptions) ([]publicrule.GraphNode, int) {
|
|
38
|
+
rules, err := acquireRules(opts.pluginsJSON, opts.cwd, opts.tsconfig)
|
|
39
|
+
if err != nil {
|
|
40
|
+
fmt.Fprintln(os.Stderr, err)
|
|
41
|
+
return nil, 2
|
|
42
|
+
}
|
|
43
|
+
engine := NewEngineWithResolver(rules)
|
|
44
|
+
if err := engine.ConfigError(); err != nil {
|
|
45
|
+
fmt.Fprintln(os.Stderr, err)
|
|
46
|
+
return nil, 2
|
|
47
|
+
}
|
|
48
|
+
publishes, needsChecker := engine.hasGraphPublisher()
|
|
49
|
+
if !publishes {
|
|
50
|
+
// Nothing the config declared can publish artifacts, so there is no
|
|
51
|
+
// projection to take and the Program is never built. This is what keeps a
|
|
52
|
+
// project that does not use the convention paying nothing for the verb.
|
|
53
|
+
return []publicrule.GraphNode{}, 0
|
|
54
|
+
}
|
|
55
|
+
prog, parseDiags, closeProgram, err := acquireProgram(opts, needsChecker)
|
|
56
|
+
if closeProgram != nil {
|
|
57
|
+
defer closeProgram()
|
|
58
|
+
}
|
|
59
|
+
if err != nil {
|
|
60
|
+
fmt.Fprintf(os.Stderr, "@ttsc/lint: %v\n", err)
|
|
61
|
+
return nil, 2
|
|
62
|
+
}
|
|
63
|
+
if prog == nil || len(parseDiags) > 0 {
|
|
64
|
+
// The project does not parse right now. Rules never ran, so there are no
|
|
65
|
+
// artifacts — but these are tsgo's diagnostics to own, and failing here
|
|
66
|
+
// would make a consumer treat a syntax error mid-typing as a broken plugin.
|
|
67
|
+
return []publicrule.GraphNode{}, 0
|
|
68
|
+
}
|
|
69
|
+
return collectProjectGraphNodes(prog.runProjectCycle(engine)), 0
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
// hasGraphPublisher reports whether any declared project rule can publish
|
|
73
|
+
// artifacts, and whether serving those rules needs a type checker.
|
|
74
|
+
//
|
|
75
|
+
// Both answers come from the registration table and the resolved config, so
|
|
76
|
+
// they are available before a Program exists — which is the point, and matters
|
|
77
|
+
// more here than for hints: the artifacts a rule materializes come from parsing
|
|
78
|
+
// documents, not from the type system, so a project that publishes them should
|
|
79
|
+
// not pay for a checker no projection reads.
|
|
80
|
+
func (e *Engine) hasGraphPublisher() (publishes bool, needsChecker bool) {
|
|
81
|
+
if e == nil {
|
|
82
|
+
return false, false
|
|
83
|
+
}
|
|
84
|
+
for _, name := range allProjectRuleNames() {
|
|
85
|
+
setting := e.projectSettings[name]
|
|
86
|
+
if !setting.Declared || setting.Severity == SeverityOff {
|
|
87
|
+
continue
|
|
88
|
+
}
|
|
89
|
+
adapter, registered := registeredProjectRules[name]
|
|
90
|
+
if !registered {
|
|
91
|
+
continue
|
|
92
|
+
}
|
|
93
|
+
if _, publisher := adapter.inner.(publicrule.GraphRule); !publisher {
|
|
94
|
+
continue
|
|
95
|
+
}
|
|
96
|
+
publishes = true
|
|
97
|
+
if projectRuleNeedsTypeChecker(name) {
|
|
98
|
+
// Every publisher's need is folded in rather than returning early: one
|
|
99
|
+
// rule declining a checker does not spare a sibling that reads one.
|
|
100
|
+
needsChecker = true
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
return publishes, needsChecker
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
// collectProjectGraphNodes gathers the artifacts every declared project rule
|
|
107
|
+
// published for this Program.
|
|
108
|
+
//
|
|
109
|
+
// It runs after evaluateProject rather than inside it, because a set of
|
|
110
|
+
// artifacts is a projection of finished state. A rule is asked only when it
|
|
111
|
+
// passed and published state: a rule that failed materialized a description of
|
|
112
|
+
// a Program it just rejected, and indexing that would answer questions from
|
|
113
|
+
// facts the rule itself disowns.
|
|
114
|
+
func collectProjectGraphNodes(cycle *projectCycle) []publicrule.GraphNode {
|
|
115
|
+
if cycle == nil || cycle.results == nil {
|
|
116
|
+
return nil
|
|
117
|
+
}
|
|
118
|
+
nodes := []publicrule.GraphNode{}
|
|
119
|
+
for _, name := range allProjectRuleNames() {
|
|
120
|
+
result, exists := cycle.results.byName[name]
|
|
121
|
+
if !exists || result.reporter == nil {
|
|
122
|
+
continue
|
|
123
|
+
}
|
|
124
|
+
adapter, registered := registeredProjectRules[name]
|
|
125
|
+
if !registered {
|
|
126
|
+
continue
|
|
127
|
+
}
|
|
128
|
+
provider, ok := adapter.inner.(publicrule.GraphRule)
|
|
129
|
+
if !ok {
|
|
130
|
+
continue
|
|
131
|
+
}
|
|
132
|
+
snapshot := result.reporter.snapshot()
|
|
133
|
+
if snapshot.Status != publicrule.ProjectRulePassed || snapshot.State == nil {
|
|
134
|
+
continue
|
|
135
|
+
}
|
|
136
|
+
nodes = append(nodes, ruleGraphNodes(name, provider, result, snapshot)...)
|
|
137
|
+
}
|
|
138
|
+
return dropUnusableGraphNodes(nodes)
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
// ruleGraphNodes calls one rule's GraphNodes behind a recover barrier.
|
|
142
|
+
//
|
|
143
|
+
// The barrier matches the metadata-inspection contract: a contributor panicking
|
|
144
|
+
// while describing itself loses its contribution rather than the process.
|
|
145
|
+
func ruleGraphNodes(
|
|
146
|
+
name string,
|
|
147
|
+
provider publicrule.GraphRule,
|
|
148
|
+
result projectCycleResult,
|
|
149
|
+
snapshot publicrule.ProjectRuleResult,
|
|
150
|
+
) (nodes []publicrule.GraphNode) {
|
|
151
|
+
defer func() {
|
|
152
|
+
if recovered := recover(); recovered != nil {
|
|
153
|
+
fmt.Fprintf(
|
|
154
|
+
os.Stderr,
|
|
155
|
+
"@ttsc/lint: project rule %q panicked while publishing graph nodes: %v; dropping its artifacts\n",
|
|
156
|
+
name,
|
|
157
|
+
recovered,
|
|
158
|
+
)
|
|
159
|
+
nodes = nil
|
|
160
|
+
}
|
|
161
|
+
}()
|
|
162
|
+
return provider.GraphNodes(&publicrule.GraphContext{
|
|
163
|
+
Identity: result.identity,
|
|
164
|
+
State: snapshot.State,
|
|
165
|
+
Severity: publicrule.Severity(result.severity),
|
|
166
|
+
Options: result.options,
|
|
167
|
+
})
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
// dropUnusableGraphNodes removes what a consumer cannot index, and repairs the
|
|
171
|
+
// one thing it can: a parent naming no published node.
|
|
172
|
+
//
|
|
173
|
+
// A node with no address has no identity to be cited by. A node whose kind is
|
|
174
|
+
// not in the published vocabulary is one the consumer cannot rank or contain,
|
|
175
|
+
// and guessing would be worse than dropping. A duplicate address is kept once,
|
|
176
|
+
// first writer winning, because two nodes under one address make a citation
|
|
177
|
+
// ambiguous — the rule's own aliases are how one artifact answers to two names.
|
|
178
|
+
//
|
|
179
|
+
// A parent that survives none of that is cleared rather than dropping its child:
|
|
180
|
+
// the child is still a real artifact and still citable, it simply sits at the
|
|
181
|
+
// top of its chain. Fabricating the missing parent is what must not happen.
|
|
182
|
+
func dropUnusableGraphNodes(nodes []publicrule.GraphNode) []publicrule.GraphNode {
|
|
183
|
+
kinds := publicrule.GraphNodeKinds()
|
|
184
|
+
seen := make(map[string]struct{}, len(nodes))
|
|
185
|
+
kept := make([]publicrule.GraphNode, 0, len(nodes))
|
|
186
|
+
for _, node := range nodes {
|
|
187
|
+
if node.Address == "" || !slices.Contains(kinds, node.Kind) {
|
|
188
|
+
continue
|
|
189
|
+
}
|
|
190
|
+
if _, exists := seen[node.Address]; exists {
|
|
191
|
+
continue
|
|
192
|
+
}
|
|
193
|
+
seen[node.Address] = struct{}{}
|
|
194
|
+
kept = append(kept, node)
|
|
195
|
+
}
|
|
196
|
+
for index := range kept {
|
|
197
|
+
if kept[index].Parent == "" {
|
|
198
|
+
continue
|
|
199
|
+
}
|
|
200
|
+
if _, exists := seen[kept[index].Parent]; !exists {
|
|
201
|
+
kept[index].Parent = ""
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
return kept
|
|
205
|
+
}
|
package/linthost/hints.go
CHANGED
|
@@ -36,7 +36,7 @@ func RunLSPHints(args []string) int {
|
|
|
36
36
|
// the resident lsp-serve loop reuses it over a warm Program, the same split
|
|
37
37
|
// computeLSPDiagnostics and computeLSPCodeActions already take.
|
|
38
38
|
func computeLSPHints(opts *lspCommandOptions) ([]publicrule.Hint, int) {
|
|
39
|
-
rules, err :=
|
|
39
|
+
rules, err := acquireRules(opts.pluginsJSON, opts.cwd, opts.tsconfig)
|
|
40
40
|
if err != nil {
|
|
41
41
|
fmt.Fprintln(os.Stderr, err)
|
|
42
42
|
return nil, 2
|
|
@@ -30,10 +30,21 @@ func RunProjectInputs(args []string) int {
|
|
|
30
30
|
if !ok {
|
|
31
31
|
return 2
|
|
32
32
|
}
|
|
33
|
-
|
|
33
|
+
snapshot, code := computeProjectInputs(opts)
|
|
34
|
+
if code != 0 {
|
|
35
|
+
return code
|
|
36
|
+
}
|
|
37
|
+
return writeJSON(snapshot)
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
// computeProjectInputs builds the dependency snapshot for one project. Split
|
|
41
|
+
// from RunProjectInputs so the resident daemon can answer the same verb without
|
|
42
|
+
// a process per question, the same split hints and graph-nodes take.
|
|
43
|
+
func computeProjectInputs(opts *lspCommandOptions) (ProjectInputSnapshot, int) {
|
|
44
|
+
resolver, err := acquireRules(opts.pluginsJSON, opts.cwd, opts.tsconfig)
|
|
34
45
|
if err != nil {
|
|
35
46
|
fmt.Fprintln(os.Stderr, err)
|
|
36
|
-
return 2
|
|
47
|
+
return ProjectInputSnapshot{}, 2
|
|
37
48
|
}
|
|
38
49
|
identity := normalizeProjectIdentity(
|
|
39
50
|
opts.projectIdentity,
|
|
@@ -43,9 +54,9 @@ func RunProjectInputs(args []string) int {
|
|
|
43
54
|
snapshot, err := collectProjectInputs(resolver, identity)
|
|
44
55
|
if err != nil {
|
|
45
56
|
fmt.Fprintln(os.Stderr, err)
|
|
46
|
-
return 2
|
|
57
|
+
return ProjectInputSnapshot{}, 2
|
|
47
58
|
}
|
|
48
|
-
return
|
|
59
|
+
return snapshot, 0
|
|
49
60
|
}
|
|
50
61
|
|
|
51
62
|
func collectProjectInputs(
|
package/linthost/serve.go
CHANGED
|
@@ -235,9 +235,11 @@ func RunLSPServe(in io.Reader, out io.Writer, args []string) int {
|
|
|
235
235
|
return 2
|
|
236
236
|
}
|
|
237
237
|
residentPrograms = newResidentProgramCache()
|
|
238
|
+
residentRules = &residentRuleCache{}
|
|
238
239
|
defer func() {
|
|
239
240
|
residentPrograms.invalidate()
|
|
240
241
|
residentPrograms = nil
|
|
242
|
+
residentRules = nil
|
|
241
243
|
}()
|
|
242
244
|
encoder := json.NewEncoder(out)
|
|
243
245
|
// ReadString imposes no line-length limit: a request is small, but keeping the
|
|
@@ -276,6 +278,12 @@ func handleServeLSPLine(line string, base *lspCommandOptions, encoder *json.Enco
|
|
|
276
278
|
return
|
|
277
279
|
}
|
|
278
280
|
if req.Invalidate {
|
|
281
|
+
// The Program only. The rule memo validates itself against the files it was
|
|
282
|
+
// loaded from, so it needs no help from a client — and dropping it here
|
|
283
|
+
// would re-evaluate the project's configuration on exactly the requests
|
|
284
|
+
// that carry this control, which is every request from a consumer that
|
|
285
|
+
// cannot localize a source change. That is the cost the memo exists to
|
|
286
|
+
// remove.
|
|
279
287
|
residentPrograms.invalidate()
|
|
280
288
|
}
|
|
281
289
|
if len(req.Changed) > 0 {
|
|
@@ -310,6 +318,17 @@ func handleServeLSPLine(line string, base *lspCommandOptions, encoder *json.Enco
|
|
|
310
318
|
case "lsp-hints":
|
|
311
319
|
result, code := computeLSPHints(&opts)
|
|
312
320
|
encodeServeResult(encoder, result, code)
|
|
321
|
+
case "graph-nodes":
|
|
322
|
+
// Neither of these describes a document, so neither carries a uri. They
|
|
323
|
+
// describe the project, and they join the daemon for the reason the other
|
|
324
|
+
// read verbs did: a consumer that asks them again whenever a file it
|
|
325
|
+
// watches moves would otherwise pay a process, a plugin load, and a Program
|
|
326
|
+
// for every edit.
|
|
327
|
+
result, code := computeGraphNodes(&opts)
|
|
328
|
+
encodeServeResult(encoder, result, code)
|
|
329
|
+
case "project-inputs":
|
|
330
|
+
result, code := computeProjectInputs(&opts)
|
|
331
|
+
encodeServeResult(encoder, result, code)
|
|
313
332
|
case "lsp-command-ids":
|
|
314
333
|
encodeServeResult(encoder, lspCommandIDs(), 0)
|
|
315
334
|
case "lsp-code-action-kinds":
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ttsc/lint",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.28.0",
|
|
4
4
|
"description": "Reference ttsc plugin: ESLint-style lint rules over the TypeScript-Go Program used by the type-check pass.",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"types": "lib/index.d.ts",
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
"@types/node": "^25.3.0",
|
|
38
38
|
"rimraf": "^6.1.2",
|
|
39
39
|
"typescript": "^7.0.2",
|
|
40
|
-
"ttsc": "0.
|
|
40
|
+
"ttsc": "0.28.0"
|
|
41
41
|
},
|
|
42
42
|
"repository": {
|
|
43
43
|
"type": "git",
|
package/rule/graph.go
ADDED
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
package rule
|
|
2
|
+
|
|
3
|
+
import "encoding/json"
|
|
4
|
+
|
|
5
|
+
// GraphNodeKind names what a published graph node is.
|
|
6
|
+
//
|
|
7
|
+
// The vocabulary is fixed by the host rather than chosen by the contributor,
|
|
8
|
+
// because a consumer has to know what it received: a kind it does not recognize
|
|
9
|
+
// is a node it cannot rank, colour, or contain. A contributor publishing an
|
|
10
|
+
// unrecognized kind has its node dropped, and the drop is a declared outcome
|
|
11
|
+
// rather than a silent one.
|
|
12
|
+
//
|
|
13
|
+
// It is deliberately not evidence-specific. These are the shapes an artifact an
|
|
14
|
+
// author can cite actually has — a document and its sections, a data model and
|
|
15
|
+
// its fields, an API operation — and any contributor that can materialize one
|
|
16
|
+
// publishes it here.
|
|
17
|
+
type GraphNodeKind string
|
|
18
|
+
|
|
19
|
+
const (
|
|
20
|
+
// GraphNodeMarkdownDocument is a whole Markdown document.
|
|
21
|
+
GraphNodeMarkdownDocument GraphNodeKind = "markdown_document"
|
|
22
|
+
// GraphNodeMarkdownSection is one heading and the span it opens. It carries
|
|
23
|
+
// the heading's text, never the section's content.
|
|
24
|
+
GraphNodeMarkdownSection GraphNodeKind = "markdown_section"
|
|
25
|
+
// GraphNodePrismaModel is a Prisma model declaration.
|
|
26
|
+
GraphNodePrismaModel GraphNodeKind = "prisma_model"
|
|
27
|
+
// GraphNodePrismaColumn is a scalar field of a Prisma model.
|
|
28
|
+
GraphNodePrismaColumn GraphNodeKind = "prisma_column"
|
|
29
|
+
// GraphNodePrismaRelation is a relation field of a Prisma model. It is its
|
|
30
|
+
// own kind because a relation has two sides and only one usually carries the
|
|
31
|
+
// declaration, which a column never does.
|
|
32
|
+
GraphNodePrismaRelation GraphNodeKind = "prisma_relation"
|
|
33
|
+
// GraphNodeSwaggerOperation is one method-and-path operation of an API
|
|
34
|
+
// document.
|
|
35
|
+
GraphNodeSwaggerOperation GraphNodeKind = "swagger_operation"
|
|
36
|
+
)
|
|
37
|
+
|
|
38
|
+
// GraphNodeKinds returns every kind a consumer accepts, in declaration order.
|
|
39
|
+
//
|
|
40
|
+
// A consumer seeds its vocabulary from this rather than from a list of its own:
|
|
41
|
+
// a kind added to the block above and not to a consumer's map is a node drawn
|
|
42
|
+
// or ranked as something it is not.
|
|
43
|
+
func GraphNodeKinds() []GraphNodeKind {
|
|
44
|
+
return []GraphNodeKind{
|
|
45
|
+
GraphNodeMarkdownDocument,
|
|
46
|
+
GraphNodeMarkdownSection,
|
|
47
|
+
GraphNodePrismaModel,
|
|
48
|
+
GraphNodePrismaColumn,
|
|
49
|
+
GraphNodePrismaRelation,
|
|
50
|
+
GraphNodeSwaggerOperation,
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
// GraphNode is one artifact a declaration's documentation can cite.
|
|
55
|
+
//
|
|
56
|
+
// It is a value, not a behavior, for the same reason Hint is: the host
|
|
57
|
+
// serializes the set and hands it to a consumer that reads it long after the
|
|
58
|
+
// lint process exited. What travels is what the consumer can answer from.
|
|
59
|
+
//
|
|
60
|
+
// The node is an index entry, never content. A section carries its heading and
|
|
61
|
+
// where it starts; the text under that heading is read from the file when
|
|
62
|
+
// someone actually needs it, exactly as a function body is.
|
|
63
|
+
type GraphNode struct {
|
|
64
|
+
// Address is the identity a citation names, verbatim — `docs/sale.md#pricing`,
|
|
65
|
+
// `prisma:Sale.price`, `POST:/orders/{orderId}`.
|
|
66
|
+
//
|
|
67
|
+
// The rule that produced it owns the grammar. A consumer keys on the string
|
|
68
|
+
// and parses none of it: the address forms come from a Markdown anchor
|
|
69
|
+
// generator, a Prisma parser, and an OpenAPI normalizer, and re-deriving any
|
|
70
|
+
// of them outside the rule that owns it would be a second implementation of a
|
|
71
|
+
// published contract.
|
|
72
|
+
Address string `json:"address"`
|
|
73
|
+
|
|
74
|
+
// Kind is what this node is. A node whose kind is not in GraphNodeKinds is
|
|
75
|
+
// dropped by the consumer.
|
|
76
|
+
Kind GraphNodeKind `json:"kind"`
|
|
77
|
+
|
|
78
|
+
// Readable is the human-facing name — a heading's own text, a model's name.
|
|
79
|
+
// Empty when the artifact has none beyond its address.
|
|
80
|
+
Readable string `json:"readable,omitempty"`
|
|
81
|
+
|
|
82
|
+
// Parent is the Address of the node containing this one: a section's document
|
|
83
|
+
// or enclosing section, a column's model. Empty at the top of a containment
|
|
84
|
+
// chain. A parent naming no published node is dropped rather than fabricated.
|
|
85
|
+
Parent string `json:"parent,omitempty"`
|
|
86
|
+
|
|
87
|
+
// File is where the artifact lives, as the rule spells it. Empty when the
|
|
88
|
+
// artifact has no file — an API operation is named by method and path, and
|
|
89
|
+
// which document declared it is not part of its identity.
|
|
90
|
+
File string `json:"file,omitempty"`
|
|
91
|
+
|
|
92
|
+
// Line is the 1-based line the node starts on, or 0 when it has no position.
|
|
93
|
+
Line int `json:"line,omitempty"`
|
|
94
|
+
|
|
95
|
+
// Aliases are the additional addresses this same node answers to, when the
|
|
96
|
+
// rule exposes it by more than one path. They resolve to this node rather
|
|
97
|
+
// than to copies of it, so an artifact reachable twice is one node.
|
|
98
|
+
Aliases []string `json:"aliases,omitempty"`
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
// GraphContext is the read-only handle the host passes to GraphNodes.
|
|
102
|
+
//
|
|
103
|
+
// It mirrors HintContext exactly, and for the same reason: a rule value is
|
|
104
|
+
// stateless, so without State here a projection could only ever return
|
|
105
|
+
// constants.
|
|
106
|
+
type GraphContext struct {
|
|
107
|
+
// Identity names the Program these nodes were built for, as during Check.
|
|
108
|
+
Identity ProjectIdentity
|
|
109
|
+
|
|
110
|
+
// State is the value the rule passed to ProjectContext.SetState.
|
|
111
|
+
State any
|
|
112
|
+
|
|
113
|
+
// Severity and Options are the resolved configuration Check ran under.
|
|
114
|
+
Severity Severity
|
|
115
|
+
Options json.RawMessage
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
// DecodeOptions unmarshals the configured options into out. A missing options
|
|
119
|
+
// tuple leaves out unchanged and returns nil.
|
|
120
|
+
func (c *GraphContext) DecodeOptions(out interface{}) error {
|
|
121
|
+
if c == nil || len(c.Options) == 0 {
|
|
122
|
+
return nil
|
|
123
|
+
}
|
|
124
|
+
return json.Unmarshal(c.Options, out)
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
// GraphRule is an optional marker a ProjectRule implements to publish the
|
|
128
|
+
// artifacts a declaration's documentation can cite.
|
|
129
|
+
//
|
|
130
|
+
// The gate is HintRule's, for the same reasons: called at most once per Program,
|
|
131
|
+
// always after Check, only when a consumer asks — never during `ttsc check` —
|
|
132
|
+
// and never unless Check passed and published state. A rule configured off is
|
|
133
|
+
// never asked, so `off` means no nodes with no code in the rule.
|
|
134
|
+
//
|
|
135
|
+
// Pull, not push. A set of artifacts is a projection of FINISHED state; a rule
|
|
136
|
+
// pushing nodes while building that state would publish the ones it had found
|
|
137
|
+
// so far rather than the ones the project has.
|
|
138
|
+
//
|
|
139
|
+
// What crosses this boundary is what an artifact *is*, never what the rule
|
|
140
|
+
// decided about it. No coverage, no cardinality, no policy, no diagnostic:
|
|
141
|
+
// those are the linter's product and it already delivers them as compile
|
|
142
|
+
// errors. A consumer that received them would hold a second, unmaintained
|
|
143
|
+
// answer to a question the linter already answers.
|
|
144
|
+
type GraphRule interface {
|
|
145
|
+
ProjectRule
|
|
146
|
+
|
|
147
|
+
// GraphNodes returns the artifacts this rule materialized, in any order.
|
|
148
|
+
// Containment is expressed by Parent rather than by position.
|
|
149
|
+
GraphNodes(ctx *GraphContext) []GraphNode
|
|
150
|
+
}
|
package/src/index.ts
CHANGED
|
@@ -26,6 +26,7 @@ type TtscPluginContributor = {
|
|
|
26
26
|
type TtscPluginDescriptor = {
|
|
27
27
|
capabilities?: {
|
|
28
28
|
diagnosticsTiming?: boolean;
|
|
29
|
+
graphNodes?: boolean;
|
|
29
30
|
lsp?: boolean;
|
|
30
31
|
projectContextArgs?: boolean;
|
|
31
32
|
projectDiagnostics?: boolean;
|
|
@@ -143,6 +144,7 @@ export default function createTtscPlugin(
|
|
|
143
144
|
const descriptor: TtscPluginDescriptor = {
|
|
144
145
|
capabilities: {
|
|
145
146
|
diagnosticsTiming: true,
|
|
147
|
+
graphNodes: true,
|
|
146
148
|
lsp: true,
|
|
147
149
|
projectContextArgs: true,
|
|
148
150
|
projectDiagnostics: true,
|