@decaf-ts/decoration 0.8.4 → 0.8.5
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/README.md +1 -1
- package/dist/decoration.cjs +1 -1
- package/dist/decoration.cjs.map +1 -1
- package/dist/decoration.js +1 -1
- package/dist/decoration.js.map +1 -1
- package/lib/decoration/Decoration.cjs +36 -17
- package/lib/decoration/Decoration.d.ts +1 -0
- package/lib/decoration/Decoration.js.map +1 -1
- package/lib/decoration/flavourRegistry.cjs +29 -0
- package/lib/decoration/flavourRegistry.d.ts +9 -0
- package/lib/decoration/flavourRegistry.js.map +1 -0
- package/lib/decoration/index.cjs +2 -0
- package/lib/decoration/index.d.ts +2 -0
- package/lib/decoration/index.js.map +1 -1
- package/lib/decoration/metadataLink.cjs +26 -0
- package/lib/decoration/metadataLink.d.ts +8 -0
- package/lib/decoration/metadataLink.js.map +1 -0
- package/lib/decorators.cjs +17 -209
- package/lib/decorators.d.ts +1 -107
- package/lib/decorators.js.map +1 -1
- package/lib/esm/decoration/Decoration.d.ts +1 -0
- package/lib/esm/decoration/Decoration.js +33 -14
- package/lib/esm/decoration/Decoration.js.map +1 -1
- package/lib/esm/decoration/flavourRegistry.d.ts +9 -0
- package/lib/esm/decoration/flavourRegistry.js +26 -0
- package/lib/esm/decoration/flavourRegistry.js.map +1 -0
- package/lib/esm/decoration/index.d.ts +2 -0
- package/lib/esm/decoration/index.js +2 -0
- package/lib/esm/decoration/index.js.map +1 -1
- package/lib/esm/decoration/metadataLink.d.ts +8 -0
- package/lib/esm/decoration/metadataLink.js +20 -0
- package/lib/esm/decoration/metadataLink.js.map +1 -0
- package/lib/esm/decorators.d.ts +1 -107
- package/lib/esm/decorators.js +6 -199
- package/lib/esm/decorators.js.map +1 -1
- package/lib/esm/index.d.ts +1 -0
- package/lib/esm/index.js +1 -0
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/metadata/Metadata.js +3 -3
- package/lib/esm/metadata/Metadata.js.map +1 -1
- package/lib/esm/shared/core.d.ts +107 -0
- package/lib/esm/shared/core.js +184 -0
- package/lib/esm/shared/core.js.map +1 -0
- package/lib/esm/shared/index.d.ts +1 -0
- package/lib/esm/shared/index.js +2 -0
- package/lib/esm/shared/index.js.map +1 -0
- package/lib/esm/version.d.ts +1 -1
- package/lib/esm/version.js +1 -1
- package/lib/index.cjs +1 -0
- package/lib/index.d.ts +1 -0
- package/lib/index.js.map +1 -1
- package/lib/metadata/Metadata.cjs +3 -3
- package/lib/metadata/Metadata.js.map +1 -1
- package/lib/shared/core.cjs +195 -0
- package/lib/shared/core.d.ts +107 -0
- package/lib/shared/core.js.map +1 -0
- package/lib/shared/index.cjs +18 -0
- package/lib/shared/index.d.ts +1 -0
- package/lib/shared/index.js.map +1 -0
- package/lib/version.cjs +1 -1
- package/lib/version.d.ts +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Decoration.js","sourceRoot":"","sources":["../../src/decoration/Decoration.ts"],"names":[],"mappings":";;;AAQA,kDAA+E;AAC/E,yDAAgD;AAChD,oDAAmD;AAEnD;;;;;;;GAOG;AACH,SAAS,eAAe,CAAC,MAAc;IACrC,MAAM,KAAK,GAAG,mBAAQ,CAAC,MAAM,CAC3B,OAAO,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAE,MAAc,EAAE,WAAW,CACrE,CAAC;IACF,MAAM,IAAI,GAAG,mBAAQ,CAAC,UAAU,CAAC,CAC/B,mBAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,EACtB,0BAAc,CAAC,OAAO,CACvB,CAAC;IACF,IAAI,IAAI,IAAI,IAAI,KAAK,UAAU,CAAC,cAAc;QAAE,OAAO,IAAI,CAAC;IAC5D,MAAM,UAAU,GACd,OAAO,mBAAQ,CAAC,mBAAmB,CAAC,KAAK,UAAU;QACjD,CAAC,CAAC,mBAAQ,CAAC,iBAAiB,CAAC,KAAK,CAAC;QACnC,CAAC,CAAC,SAAS,CAAC;IAChB,IAAI,UAAU,IAAI,UAAU,KAAK,UAAU,CAAC,cAAc;QAAE,OAAO,UAAU,CAAC;IAC9E,OAAO,IAAI,IAAI,UAAU,CAAC,cAAc,CAAC;AAC3C,CAAC;AAsDD,SAAS,aAAa,CAAC,KAAc;IACnC,OAAO,CACL,KAAK,KAAK,IAAI;QACd,OAAO,KAAK,KAAK,QAAQ;QACzB,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACpB,KAA6B,CAAC,WAAW,KAAK,MAAM,CACtD,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAI,KAAQ;IACrC,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC9D,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAiB,CAAC;IACvE,CAAC;IACD,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;QAC1B,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAiB,CAAC;IACnD,CAAC;IACD,IAAI,KAAK,YAAY,GAAG,EAAE,CAAC;QACzB,OAAO,IAAI,GAAG,CACZ,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAC1C,CAAC;IACpB,CAAC;IACD,IAAI,KAAK,YAAY,GAAG,EAAE,CAAC;QACzB,OAAO,IAAI,GAAG,CACZ,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CACxD,CAAC;IACpB,CAAC;IACD,IAAK,KAA6B,CAAC,WAAW,KAAK,MAAM,EAAE,CAAC;QAC1D,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,KAAK,GAAiC,EAAE,CAAC;IAC/C,OAAO,CAAC,OAAO,CAAC,KAAqC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QACrE,KAAK,CAAC,GAAU,CAAC,GAAG,kBAAkB,CACnC,KAAsC,CAAC,GAAU,CAAC,CACpD,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,OAAO,KAAU,CAAC;AACpB,CAAC;AAED,SAAS,mBAAmB,CAC1B,MAAqC,EACrC,KAAoC,EACpC,WAAgC,EAAE,EAClC,SAA8B,EAAE;IAEhC,MAAM,IAAI,GAAG,IAAI,GAAG,CAAc;QAChC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1C,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KACzC,CAAC,CAAC;IACH,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QACnB,MAAM,UAAU,GAAG,MAAM;YACvB,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,GAAU,CAAC;YAC1D,CAAC,CAAC,KAAK,CAAC;QACV,MAAM,UAAU,GAAG,KAAK;YACtB,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,GAAU,CAAC;YACzD,CAAC,CAAC,KAAK,CAAC;QACV,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAChE,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,GAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC/D,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,CAAC,GAAG,QAAQ,EAAE,GAAsB,CAAC;gBAC3C,aAAa,EAAE,kBAAkB,CAAC,SAAS,CAAC;gBAC5C,OAAO,EAAE,IAAI;aACd,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,IAAI,aAAa,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC7B,mBAAmB,CACjB,SAAS,EACT,SAAyC,EACzC,CAAC,GAAG,QAAQ,EAAE,GAAsB,CAAC,EACrC,MAAM,CACP,CAAC;gBACF,OAAO;YACT,CAAC;YACD,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,CAAC,GAAG,QAAQ,EAAE,GAAsB,CAAC;gBAC3C,aAAa,EAAE,SAAS;gBACxB,OAAO,EAAE,KAAK;aACf,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,IAAI,aAAa,CAAC,SAAS,CAAC,IAAI,aAAa,CAAC,SAAS,CAAC,EAAE,CAAC;YACzD,mBAAmB,CACjB,SAAyC,EACzC,SAAyC,EACzC,CAAC,GAAG,QAAQ,EAAE,GAAsB,CAAC,EACrC,MAAM,CACP,CAAC;YACF,OAAO;QACT,CAAC;QACD,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,CAAC,GAAG,QAAQ,EAAE,GAAsB,CAAC;gBAC3C,aAAa,EAAE,kBAAkB,CAAC,SAAS,CAAC;gBAC5C,OAAO,EAAE,IAAI;aACd,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,kBAAkB,CACzB,SAAiC;IAEjC,IAAI,CAAC,SAAS;QAAE,OAAO,SAAS,CAAC;IACjC,MAAM,KAAK,GAA0B,EAAE,CAAC;IACxC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QACrC,KAAK,CAAC,GAAU,CAAC,GAAG,SAAS,CAAC,GAAU,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CACpD,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI;YACrC,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC;YACzB,CAAC,CAAC,GAAG,CACR,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,aAAa,CACpB,MAAoC,EACpC,IAAyB;IAEzB,IAAI,OAAO,GAA6C,MAAM,CAAC;IAC/D,KAAK,MAAM,OAAO,IAAI,IAAI,EAAE,CAAC;QAC3B,IAAI,CAAC,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,OAAc,CAAC,CAAC,EAAE,CAAC;YACxD,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,GAAG,OAAO,CAAC,OAAc,CAAC,CAAC;IACpC,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,mBAAmB,CAC1B,MAAoC,EACpC,IAAyB;IAEzB,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACtC,MAAM,UAAU,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC7C,MAAM,GAAG,GAAG,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAClD,MAAM,MAAM,GACV,UAAU,CAAC,MAAM,KAAK,CAAC;YACrB,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,aAAa,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QACxC,IAAI,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;YAAE,MAAM;QAC7C,MAAM,KAAK,GAAG,MAAM,CAAC,GAAU,CAAC,CAAC;QACjC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM;QACtE,OAAO,MAAM,CAAC,GAAU,CAAC,CAAC;IAC5B,CAAC;AACH,CAAC;AAkCD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,MAAa,UAAU;aACd,mBAAc,GAAG,0BAAc,CAAC;aAExB,iBAAY,GACzB,IAAI,OAAO,EAAE,CAAC;IAEhB;;;OAGG;aACY,eAAU,GASrB,EAAE,CAAC;IAEP;;;OAGG;aACY,oBAAe,GAAoB,eAAe,CAAC;IAiBlE,YAAoB,UAAkB,UAAU,CAAC,cAAc;QAA3C,YAAO,GAAP,OAAO,CAAoC;IAAG,CAAC;IAEnE;;;;;;;;OAQG;IACK,MAAM,CAAC,cAAc,CAAC,KAAU;QACtC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACzE,CAAC;QACD,IAAI,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACzC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,KAAK,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;YAChE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACtC,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,MAAM,CAAC,iBAAiB,CAC9B,KAAuB,EACvB,OAAe;QAEf,MAAM,aAAa,GAAI,mBAAgB,CAAC,WAAW,CAGlD,CAAC;QACF,MAAM,cAAc,GAAG,mBAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACpD,MAAM,cAAc,GAClB,OAAO,KAAK,CAAC,YAAY,KAAK,WAAW;YACvC,CAAC,CAAC,kBAAkB,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;YACnD,CAAC,CAAC,SAAS,CAAC;QAChB,IAAI,CAAC;YACH,IACE,OAAO,KAAK,CAAC,WAAW,KAAK,WAAW;gBACxC,OAAO,KAAK,CAAC,kBAAkB,KAAK,WAAW;gBAC/C,KAAK,CAAC,MAAM,EACZ,CAAC;gBACD,MAAM,iBAAiB,GAAG,MAAM,CAAC,wBAAwB,CACvD,KAAK,CAAC,MAAM,EACZ,KAAK,CAAC,WAAW,CAClB,CAAC;gBACF,KAAK,CAAC,gBAAgB,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAC3D,KAAK,CAAC,MAAM,EACZ,KAAK,CAAC,WAAW,CAClB,CAAC;gBACF,KAAK,CAAC,kBAAkB,GAAG,iBAAiB;oBAC1C,CAAC,CAAC,EAAE,GAAG,iBAAiB,EAAE;oBAC1B,CAAC,CAAC,SAAS,CAAC;YAChB,CAAC;YACD,MAAM,gBAAgB,GAAG,KAAK,CAAC,WAAW;gBACxC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE;gBACrB,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YAC3C,MAAM,gBAAgB,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAChE,KAAK,CAAC,MAAM,EACZ,KAAK,CAAC,WAA8B,EACpC,KAAK,CAAC,UAA0C,CACjD,CAAC;YAEF,IACE,OAAO,KAAK,CAAC,WAAW,KAAK,WAAW;gBACxC,gBAAgB;gBAChB,KAAK,CAAC,MAAM,EACZ,CAAC;gBACD,MAAM,CAAC,cAAc,CACnB,KAAK,CAAC,MAAM,EACZ,KAAK,CAAC,WAAW,EACjB,gBAAsC,CACvC,CAAC;YACJ,CAAC;YACD,IACE,OAAO,KAAK,CAAC,WAAW,KAAK,WAAW;gBACxC,OAAO,KAAK,CAAC,UAAU,KAAK,WAAW,EACvC,CAAC;gBACD,uEAAuE;gBACvE,IAAA,iBAAI,GAAE,CAAC,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;YACzD,CAAC;YACD,IAAI,OAAO,KAAK,CAAC,YAAY,KAAK,WAAW,EAAE,CAAC;gBAC9C,MAAM,aAAa,GAAG,kBAAkB,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,CAAC;gBACxE,KAAK,CAAC,YAAY,GAAG,mBAAmB,CACtC,cAA0D,EAC1D,aAAyD,CAC1D,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CACX,yCACE,KAAK,CAAC,KAAK,EAAE,IAAI,IAAI,WACvB,IAAI,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,EAC/B,KAAK,CACN,CAAC;QACJ,CAAC;IACH,CAAC;IAES,MAAM,CAAC,WAAW,CAAC,KAAU;QACrC,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QACzC,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,KAAK,CAAC,OAAO;YAAE,KAAK,CAAC,OAAO,GAAG,UAAU,CAAC,cAAc,CAAC;QAC9D,mBAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,0BAAc,CAAC,UAAU,EAAE,2BAAe,CAAC,OAAO,CAAC,CAAC;IAC1E,CAAC;IAEO,MAAM,CAAC,sBAAsB,CAAC,KAAU;QAC9C,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QACzC,IAAI,KAAK,CAAC,gBAAgB,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ;YAAE,OAAO;QACvE,KAAK,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC9B,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;YAC1B,KAAK,CAAC,gBAAgB,GAAG,KAAK,CAAC;YAC/B,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;gBACpB,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;YACvC,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAES,MAAM,CAAC,wBAAwB,CACvC,KAAU,EACV,MAAW,EACX,QAGwC,EACxC,WAA6B,EAC7B,UAAkD,EAClD,YAAoC,EACpC,aAAsB;QAEtB,MAAM,GAAG,GAAG,GACV,KAAK,EAAE,IAAI,IAAI,WACjB,IAAI,MAAM,CAAC,WAAW,IAAI,OAAO,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;QAEpE,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QACzC,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAAC;QAC3D,MAAM,KAAK,GAAqB;YAC9B,KAAK;YACL,MAAM;YACN,WAAW;YACX,UAAU;YACV,QAAQ;YACR,YAAY,EAAE,iBAAiB;YAC/B,WAAW,EAAE,GAAG,EAAE,CAAC,kBAAkB,CAAC,iBAAiB,CAAC;YACxD,GAAG;YACH,aAAa;SACd,CAAC;QAEF,MAAM,gBAAgB,GAAG,GAAG,EAAE;YAC5B,MAAM,YAAY,GAChB,KAAK,CAAC,OAAO;gBACb,mBAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,0BAAc,CAAC,OAAO,CAAC;gBAC3C,UAAU,CAAC,cAAc,CAAC;YAC5B,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;YAC5C,KAAK,CAAC,eAAe,GAAG,KAAK,CAAC,MAAM,CAAC;YACrC,KAAK,CAAC,kBAAkB,GAAG,YAAY,CAAC;YACxC,OAAO,YAAY,CAAC;QACtB,CAAC,CAAC;QAEF,MAAM,aAAa,GAAG,GAAG,EAAE;YACzB,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC1B,OAAO,KAAK,CAAC;QACf,CAAC,CAAC;QAEF,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;YACtB,aAAa,EAAE,CAAC;YAChB,MAAM,YAAY,GAAG,gBAAgB,EAAE,CAAC;YACxC,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YAC1C,KAAK,CAAC,OAAO,GAAG,YAAY,CAAC;YAC7B,mBAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,0BAAc,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;YACrD,OAAO,GAAG,CAAC;QACb,CAAC;QAED,aAAa,EAAE,CAAC;QAEhB,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACnB,gBAAgB,EAAE,CAAC;YACnB,OAAO,GAAG,CAAC;QACb,CAAC;QAED,IAAI,UAAU,CAAC,eAAe,KAAK,eAAe,EAAE,CAAC;YACnD,IAAI,CAAC;gBACH,MAAM,YAAY,GAAG,UAAU,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;gBACvD,IAAI,YAAY,IAAI,YAAY,KAAK,UAAU,CAAC,cAAc,EAAE,CAAC;oBAC/D,IAAI,CAAC,wBAAwB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;oBACnD,OAAO,GAAG,CAAC;gBACb,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,2DAA2D;YAC7D,CAAC;QACH,CAAC;QAED,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;QACnC,OAAO,GAAG,CAAC;IACb,CAAC;IAES,MAAM,CAAC,wBAAwB,CACvC,MAAW,EACX,OAAgB;QAEhB,MAAM,KAAK,GACT,OAAO,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,WAAW,IAAI,MAAM,CAAC;QACxE,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QACzC,KAAK,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC/B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO;YAAE,OAAO;QAE9C,MAAM,eAAe,GACnB,OAAO;YACP,KAAK,CAAC,OAAO;YACb,mBAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,0BAAc,CAAC,OAAO,CAAC;YAC3C,UAAU,CAAC,cAAc,CAAC;QAE5B,IAAI,KAAK,CAAC,QAAQ;YAAE,OAAO;QAE3B,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,IAAI,CAAC,CAAC;QACvC,IACE,CAAC,OAAO;YACR,KAAK,CAAC,kBAAkB,KAAK,eAAe;YAC5C,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,EAC9B,CAAC;YACD,OAAO;QACT,CAAC;QAED,MAAM,cAAc,GAClB,OAAO,CAAC,OAAO,IAAI,OAAO,KAAK,UAAU,CAAC,cAAc,CAAC;YACzD,KAAK,CAAC,WAAW,CAAC;QACpB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM;YAAE,OAAO;QAElC,MAAM,WAAW,GAAG,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAC5C,KAAK,CAAC,MAAM,GAAG,WAAW,CAAC;QAC3B,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC;YACL,IAAI,cAAc,EAAE,CAAC;gBACnB,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;oBAClC,IAAI,CAAC,KAAK;wBAAE,SAAS;oBACrB,IAAI,KAAK,CAAC,eAAe,KAAK,WAAW;wBAAE,SAAS;oBACpD,MAAM,WAAW,GAAG,IAAI,CAAC,mBAAmB,CAC1C,KAAK,EACL,eAAe,CAChB,CAAC;oBACF,MAAM,cAAc,GAClB,OAAO,KAAK,CAAC,YAAY,KAAK,WAAW;wBACzC,OAAO,KAAK,CAAC,kBAAkB,KAAK,WAAW,CAAC;oBAClD,IAAI,CAAC,cAAc,EAAE,CAAC;wBACpB,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;wBAC/C,KAAK,CAAC,eAAe,GAAG,WAAW,CAAC;wBACpC,KAAK,CAAC,kBAAkB,GAAG,eAAe,CAAC;wBAC3C,SAAS;oBACX,CAAC;oBACD,IACE,KAAK,CAAC,kBAAkB,KAAK,eAAe;wBAC5C,CAAC,WAAW,EACZ,CAAC;wBACD,KAAK,CAAC,eAAe,GAAG,WAAW,CAAC;wBACpC,SAAS;oBACX,CAAC;oBACD,IAAI,KAAK,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC;wBAC/B,kBAAkB,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;oBACtD,CAAC;oBACD,yBAAyB,CAAC,KAAK,CAAC,CAAC;oBACjC,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;oBAC/C,KAAK,CAAC,eAAe,GAAG,WAAW,CAAC;oBACpC,KAAK,CAAC,kBAAkB,GAAG,eAAe,CAAC;gBAC7C,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,IAAI,KAAK,GAAG,MAAM,CAAC;gBACnB,OAAO,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;oBACpC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;oBACrC,IAAI,CAAC,KAAK;wBAAE,SAAS;oBACrB,IAAI,KAAK,CAAC,eAAe,KAAK,WAAW;wBAAE,SAAS;oBACpD,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;oBAC/C,KAAK,CAAC,eAAe,GAAG,WAAW,CAAC;oBACpC,KAAK,CAAC,kBAAkB,GAAG,eAAe,CAAC;gBAC7C,CAAC;gBACD,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YAC5C,CAAC;QACD,CAAC;gBAAS,CAAC;YACT,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC;QACzB,CAAC;QAED,KAAK,CAAC,OAAO,GAAG,eAAe,CAAC;QAChC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;QACtB,KAAK,CAAC,kBAAkB,GAAG,eAAe,CAAC;QAC3C,IAAI,cAAc,EAAE,CAAC;YACnB,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YAC1C,IAAI,eAAe,KAAK,UAAU,CAAC,cAAc,EAAE,CAAC;gBAClD,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC;YAC3B,CAAC;QACH,CAAC;QAED,mBAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,0BAAc,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IACvD,CAAC;IAED;;;;;OAKG;IACH,GAAG,CAAC,GAAW;QACb,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;OAMG;IACK,QAAQ,CACd,QAAiB,KAAK,EACtB,GAAG,UAAiC;QAEpC,IAAI,CAAC,IAAI,CAAC,GAAG;YACX,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACzE,IACE,CAAC,CAAC,UAAU,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;YACnC,CAAC,KAAK;YACN,IAAI,CAAC,OAAO,KAAK,UAAU,CAAC,cAAc;YAE1C,MAAM,IAAI,KAAK,CACb,2EAA2E,CAC5E,CAAC;QACJ,iFAAiF;QACjF,IAAI,KAAK,EAAE,CAAC;YACT,IAAY,CAAC,MAAM,GAAG,IAAI,GAAG,CAAC;gBAC7B,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;gBACtC,GAAG,UAAU;aACd,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,oEAAoE;YACnE,IAAY,CAAC,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC;QACtD,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,qBAAqB;QAC3B,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI;YAAE,OAAO,SAAS,CAAC;QAChE,MAAM,SAAS,GAA0B,EAAE,CAAC;QAC5C,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YAC5D,IACE,OAAO,KAAK,KAAK,QAAQ;gBACzB,MAAM,IAAI,KAAK;gBACf,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EACzB,CAAC;gBACD,SAAS,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CACxC,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI;oBACrC,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC;oBACzB,CAAC,CAAC,GAAG,CACR,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/D,CAAC;IAED;;;;;OAKG;IACH,MAAM,CACJ,GAAG,UAA2B;QAE9B,IACE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;YAC7C,UAAU,CAAC,MAAM,KAAK,CAAC;YAEvB,MAAM,IAAI,KAAK,CACb,0DAA0D,CAC3D,CAAC;QACJ,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,UAAU,CAAC,CAAC;IAC7C,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,GAAG,UAAiC;QACzC,IACE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;YAC7C,UAAU,CAAC,MAAM,KAAK,CAAC;YAEvB,MAAM,IAAI,KAAK,CACb,oEAAoE,CACrE,CAAC;QACJ,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,UAAU,CAAC,CAAC;IAC5C,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;OAqBG;IACO,gBAAgB,CACxB,GAAW,EACX,CAAU,EACV,SAAiC;QAEjC,SAAS,gBAAgB,CACvB,MAAc,EACd,WAAiB,EACjB,UAAyC;YAEzC,MAAM,OAAO,GAAG,CAAC,IAAI,UAAU,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;YACxD,MAAM,KAAK,GAAG,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YACzC,IAAI,UAAU,CAAC;YACf,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC;gBAC3B,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM;gBACvB,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC;YAE5C,IACE,KAAK;gBACL,KAAK,CAAC,OAAO,CAAC;gBACd,KAAK,CAAC,OAAO,CAAC,CAAC,UAAU;gBACzB,KAAK,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,IAAI,EAC9B,CAAC;gBACD,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC;YACzC,CAAC;iBAAM,CAAC;gBACN,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,UAAU,CAAC;YAC3D,CAAC;YAED,MAAM,kBAAkB,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAExE,MAAM,qBAAqB,GAAG;gBAC5B,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,UAAU,IAAI,IAAI,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;aACxE,CAAC;YAEF,MAAM,eAAe,GAAG,kBAAkB,CAAC,MAAM,CAC/C,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gBACtB,IACE,OAAO,KAAK,KAAK,QAAQ;oBACzB,MAAM,IAAK,KAAa;oBACxB,KAAK,CAAC,OAAO,CAAE,KAAa,CAAC,IAAI,CAAC,EAClC,CAAC;oBACD,KAAK,CAAC,KAAK,CAAC,GAAI,KAAa,CAAC,IAAI,CAAC;gBACrC,CAAC;gBACD,OAAO,KAAK,CAAC;YACf,CAAC,EACD,EAA2B,CAC5B,CAAC;YAEF,MAAM,kBAAkB,GAAG,qBAAqB,CAAC,MAAM,CACrD,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gBACtB,IACE,OAAO,KAAK,KAAK,QAAQ;oBACzB,MAAM,IAAK,KAAa;oBACxB,KAAK,CAAC,OAAO,CAAE,KAAa,CAAC,IAAI,CAAC,EAClC,CAAC;oBACD,KAAK,CAAC,KAAK,CAAC,GAAI,KAAa,CAAC,IAAI,CAAC;gBACrC,CAAC;gBACD,OAAO,KAAK,CAAC;YACf,CAAC,EACD,EAA2B,CAC5B,CAAC;YAEF,MAAM,OAAO,GAAG;gBACd,GAAG,kBAAkB;gBACrB,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACnC,CAAC;YAEF,MAAM,UAAU,GAAG,kBAAkB,CAAC,MAAM,CAAC;YAC7C,MAAM,aAAa,GAAG,SAAS,IAAI,EAAE,CAAC;YAEtC,IAAI,aAAa,GAAG,MAAM,CAAC;YAC3B,IAAI,iBAAiB,GAAG,UAAU,CAAC;YAEnC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;gBAC3B,IAAI,WAA2B,CAAC;gBAChC,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;oBAC1B,MAAM,KAAK,GAAG,CAAQ,CAAC;oBACvB,MAAM,cAAc,GAAG,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;oBACtD,MAAM,YAAY,GAChB,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;oBACjE,MAAM,IAAI,GACR,YAAY;wBACZ,CAAC,MAAM,IAAI,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;4BAC3C,CAAC,CAAC,KAAK,CAAC,IAAI;4BACZ,CAAC,CAAC,CAAC,eAAe,CAAC,cAAc,CAAC;gCAChC,kBAAkB,CAAC,cAAc,CAAC;gCAClC,kBAAkB,CAAC,CAAC,CAAC;gCACrB,EAAE,CAAC,CAAC,CAAC;oBACX,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAY,EAAE,EAAE,CAC/C,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI;wBACrC,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC;wBACzB,CAAC,CAAC,GAAG,CACR,CAAC;oBACF,WAAW,GAAG,KAAK,CAAC,SAAS,CAC3B,GAAG,cAAc,CACA,CAAC;gBACtB,CAAC;qBAAM,IAAI,OAAO,CAAC,KAAK,UAAU,EAAE,CAAC;oBACnC,WAAW,GAAG,CAAmB,CAAC;gBACpC,CAAC;qBAAM,CAAC;oBACN,MAAM,IAAI,KAAK,CAAC,8BAA8B,OAAO,CAAC,EAAE,CAAC,CAAC;gBAC5D,CAAC;gBAED,MAAM,MAAM,GAAI,WAAmB,CACjC,OAAO,WAAW,KAAK,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,EAC3D,WAAW,EACX,iBAAiB,CAClB,CAAC;gBAEF,IAAI,OAAO,WAAW,KAAK,WAAW,EAAE,CAAC;oBACvC,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE,CAAC;wBACjC,aAAa,GAAG,MAAM,CAAC;oBACzB,CAAC;gBACH,CAAC;qBAAM,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;oBACzC,iBAAiB,GAAG,MAAM,CAAC;gBAC7B,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,OAAO,OAAO,WAAW,KAAK,WAAW;gBACvC,CAAC,CAAC,aAAa;gBACf,CAAC,CAAC,iBAAiB,CAAC;QACxB,CAAC;QACD,MAAM,CAAC,cAAc,CAAC,gBAAgB,EAAE,MAAM,EAAE;YAC9C,KAAK,EAAE,CAAC,CAAC,IAAI,SAAS,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC;YACpD,QAAQ,EAAE,KAAK;SAChB,CAAC,CAAC;QACH,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAED;;;;OAIG;IACH,KAAK;QAKH,IAAI,CAAC,IAAI,CAAC,GAAG;YACX,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAEhE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QAErB,MAAM,kBAAkB,GACtB,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC;QAC9D,MAAM,oBAAoB,GACxB,IAAI,CAAC,UAAU,IAAI,kBAAkB,IAAI,IAAI,GAAG,EAAiB,CAAC;QAEpE,MAAM,gBAAgB,GACpB,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;QAE/D,UAAU,CAAC,QAAQ,CACjB,IAAI,CAAC,GAAG,EACR,IAAI,CAAC,OAAO,EACZ,oBAAoB,EACpB,gBAAgB,CACjB,CAAC;QAEF,MAAM,OAAO,GAAG,CAAC,MAAW,EAAE,WAAiB,EAAE,UAAgB,EAAE,EAAE;YACnE,MAAM,QAAQ,GAAG,OAAO,WAAW,KAAK,WAAW,CAAC;YACpD,MAAM,KAAK,GACT,OAAO,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,WAAW,IAAI,MAAM,CAAC;YACxE,IAAI,KAAK,IAAI,QAAQ,EAAE,CAAC;gBACtB,MAAM,cAAc,GAAG,mBAAQ,CAAC,UAAU,CAAC,CACzC,mBAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,EACtB,0BAAc,CAAC,OAAO,CACvB,CAAC;gBACF,IAAI,CAAC,cAAc;oBAAE,IAAA,iBAAI,EAAC,UAAU,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,CAAC;gBAC5D,MAAM,YAAY,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBAClD,UAAU,CAAC,wBAAwB,CACjC,KAAK,EACL,MAAM,EACN,CAAC,eAAuB,EAAE,EAAE;oBAC1B,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,eAAe,EAAE,YAAY,CAAC,CAAC;gBACnE,CAAC,EACD,WAAW,EACX,UAAU,EACV,YAAY,EACZ,GAAG,CACJ,CAAC;gBACF,UAAU,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;gBAC3C,IAAI,WAAW,IAAI,CAAC,UAAU,EAAE,CAAC;oBAC/B,IAAA,iBAAI,GAAE,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,yBAAyB;gBACvD,CAAC;gBACD,IAAI,WAAW,IAAI,UAAU,EAAE,CAAC;oBAC9B,yGAAyG;oBACzG,IAAA,mBAAM,GAAE,CAAC,KAAK,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC,uBAAuB;gBACnE,CAAC;gBACD,OAAO,UAAU,CAAC;YACpB,CAAC;YAED,MAAM,WAAW,GACf,IAAI,CAAC,OAAO,KAAK,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;YACxE,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAa,EAAE,WAAW,CAAC,CACtD,MAAM,EACN,WAAW,EACX,UAAU,CACX,CAAC;QACJ,CAAC,CAAC;QAEF,IAAI,CAAC;YACH,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE;gBACrC,KAAK,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC;gBAClD,QAAQ,EAAE,KAAK;aAChB,CAAC,CAAC;YACH,6DAA6D;QAC/D,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,2DAA2D;QAC7D,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;;;;;OAQG;IACK,MAAM,CAAC,QAAQ,CACrB,GAAW,EACX,OAAe,EACf,UAA+B,EAC/B,MAAiC;QAEjC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAChE,CAAC;QACD,IAAI,CAAC,UAAU;YACb,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACvE,IAAI,CAAC,OAAO;YACV,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QAEpE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;QACjE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;YACtC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;QAC3C,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,GAAG,UAAU,CAAC;QAC5D,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;YAClC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC;QACtD,CAAC;IACH,CAAC;IAED,MAAM,CAAC,WAAW,CAAC,QAAyB;QAC1C,UAAU,CAAC,eAAe,GAAG,QAAQ,CAAC;IACxC,CAAC;IAEO,MAAM,CAAC,mBAAmB,CAChC,KAAuB,EACvB,OAAe;QAEf,IAAI,CAAC,KAAK,CAAC,aAAa;YAAE,OAAO,KAAK,CAAC;QACvC,IAAI,OAAO,KAAK,UAAU,CAAC,cAAc;YAAE,OAAO,KAAK,CAAC;QACxD,MAAM,KAAK,GAAG,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACzD,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAC;QACzB,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;QACrC,IAAI,CAAC,aAAa;YAAE,OAAO,KAAK,CAAC;QACjC,MAAM,aAAa,GAAG,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;QACvD,MAAM,aAAa,GACjB,aAAa,CAAC,UAAU,IAAI,aAAa,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,CAAC;QAChE,MAAM,SAAS,GACb,aAAa,CAAC,MAAM,YAAY,GAAG;YACnC,aAAa,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;QAChC,IAAI,CAAC,aAAa,IAAI,CAAC,SAAS;YAAE,OAAO,KAAK,CAAC;QAC/C,IAAI,CAAC,aAAa;YAAE,OAAO,IAAI,CAAC;QAChC,MAAM,eAAe,GACnB,CAAC,aAAa;YACd,aAAa,CAAC,UAAU,KAAK,aAAa,CAAC,UAAU,CAAC;QACxD,MAAM,WAAW,GACf,CAAC,SAAS,IAAI,aAAa,CAAC,MAAM,KAAK,aAAa,CAAC,MAAM,CAAC;QAC9D,OAAO,CAAC,CAAC,eAAe,IAAI,WAAW,CAAC,CAAC;IAC3C,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,GAAG,CAAC,GAAW;QACpB,OAAO,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,WAAW,CAAC,OAAe;QAChC,OAAO,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;;AAjvBH,gCAkvBC;AACD,SAAS,kBAAkB,CACzB,KAAU,EACV,IAA0B;IAE1B,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QAC1B,OAAO;IACT,CAAC;IACD,MAAM,aAAa,GAAI,mBAAgB,CAAC,WAAW,CAGlD,CAAC;IACF,MAAM,MAAM,GAAG,mBAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACtC,MAAM,MAAM,GACV,aAAa,CAAC,MAAM,CAAC;QACrB,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,EAAkC,CAAC,CAAC;IAC/D,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,EAAE,EAAE;QAChD,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO;QACzB,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,0BAAc,CAAC,UAAU;YAAE,OAAO;QAClD,IAAI,MAAM,GAAiC,MAAM,CAAC;QAClD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACpB,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,GAAU,CAAC,CAAC,EAAE,CAAC;gBACvC,MAAM,CAAC,GAAU,CAAC,GAAG,EAAE,CAAC;YAC1B,CAAC;YACD,MAAM,GAAG,MAAM,CAAC,GAAU,CAAC,CAAC;QAC9B,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAClC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,MAAM,CAAC,GAAU,CAAC,CAAC;YAC1B,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACjD,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,GAAU,CAAC,GAAG,kBAAkB,CAAC,aAAa,CAAC,CAAC;QACzD,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,yBAAyB,CAAC,KAAuB;IACxD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,CAAC,WAAW,KAAK,WAAW;QAAE,OAAO;IAC/D,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAC5B,IAAI,CAAC,MAAM,IAAI,OAAO,KAAK,CAAC,gBAAgB,KAAK,WAAW;QAAE,OAAO;IACrE,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;IACtC,MAAM,QAAQ,GAAG,KAAK,CAAC,kBAAkB,CAAC;IAC1C,IAAI,KAAK,CAAC,gBAAgB,EAAE,CAAC;QAC3B,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;QACvD,CAAC;aAAM,CAAC;YACN,OAAQ,MAAuC,CAAC,WAAkB,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;SAAM,CAAC;QACN,OAAQ,MAAuC,CAAC,WAAkB,CAAC,CAAC;QACpE,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"Decoration.js","sourceRoot":"","sources":["../../src/decoration/Decoration.ts"],"names":[],"mappings":";;;AAQA,kDAA+E;AAC/E,yDAAgD;AAChD,2DAAkD;AAClD,qDAGwB;AACxB,+CAA8C;AAE9C;;;;;;;GAOG;AACH,SAAS,eAAe,CAAC,MAAc;IACrC,MAAM,KAAK,GAAG,mBAAQ,CAAC,MAAM,CAC3B,OAAO,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAE,MAAc,EAAE,WAAW,CACrE,CAAC;IACF,MAAM,IAAI,GAAG,mBAAQ,CAAC,UAAU,CAAC,CAC/B,mBAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,EACtB,0BAAc,CAAC,OAAO,CACvB,CAAC;IACF,IAAI,IAAI,IAAI,IAAI,KAAK,UAAU,CAAC,cAAc;QAAE,OAAO,IAAI,CAAC;IAC5D,MAAM,UAAU,GACd,OAAO,mBAAQ,CAAC,mBAAmB,CAAC,KAAK,UAAU;QACjD,CAAC,CAAC,mBAAQ,CAAC,iBAAiB,CAAC,KAAK,CAAC;QACnC,CAAC,CAAC,SAAS,CAAC;IAChB,IAAI,UAAU,IAAI,UAAU,KAAK,UAAU,CAAC,cAAc;QAAE,OAAO,UAAU,CAAC;IAC9E,OAAO,IAAI,IAAI,UAAU,CAAC,cAAc,CAAC;AAC3C,CAAC;AAsDD,SAAS,aAAa,CAAC,KAAc;IACnC,OAAO,CACL,KAAK,KAAK,IAAI;QACd,OAAO,KAAK,KAAK,QAAQ;QACzB,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACpB,KAA6B,CAAC,WAAW,KAAK,MAAM,CACtD,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAI,KAAQ;IACrC,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC9D,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAiB,CAAC;IACvE,CAAC;IACD,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;QAC1B,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAiB,CAAC;IACnD,CAAC;IACD,IAAI,KAAK,YAAY,GAAG,EAAE,CAAC;QACzB,OAAO,IAAI,GAAG,CACZ,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAC1C,CAAC;IACpB,CAAC;IACD,IAAI,KAAK,YAAY,GAAG,EAAE,CAAC;QACzB,OAAO,IAAI,GAAG,CACZ,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CACxD,CAAC;IACpB,CAAC;IACD,IAAK,KAA6B,CAAC,WAAW,KAAK,MAAM,EAAE,CAAC;QAC1D,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,KAAK,GAAiC,EAAE,CAAC;IAC/C,OAAO,CAAC,OAAO,CAAC,KAAqC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QACrE,KAAK,CAAC,GAAU,CAAC,GAAG,kBAAkB,CACnC,KAAsC,CAAC,GAAU,CAAC,CACpD,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,OAAO,KAAU,CAAC;AACpB,CAAC;AAED,SAAS,mBAAmB,CAC1B,MAAqC,EACrC,KAAoC,EACpC,WAAgC,EAAE,EAClC,SAA8B,EAAE;IAEhC,MAAM,IAAI,GAAG,IAAI,GAAG,CAAc;QAChC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1C,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KACzC,CAAC,CAAC;IACH,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QACnB,MAAM,UAAU,GAAG,MAAM;YACvB,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,GAAU,CAAC;YAC1D,CAAC,CAAC,KAAK,CAAC;QACV,MAAM,UAAU,GAAG,KAAK;YACtB,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,GAAU,CAAC;YACzD,CAAC,CAAC,KAAK,CAAC;QACV,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAChE,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,GAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC/D,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,CAAC,GAAG,QAAQ,EAAE,GAAsB,CAAC;gBAC3C,aAAa,EAAE,kBAAkB,CAAC,SAAS,CAAC;gBAC5C,OAAO,EAAE,IAAI;aACd,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,IAAI,aAAa,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC7B,mBAAmB,CACjB,SAAS,EACT,SAAyC,EACzC,CAAC,GAAG,QAAQ,EAAE,GAAsB,CAAC,EACrC,MAAM,CACP,CAAC;gBACF,OAAO;YACT,CAAC;YACD,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,CAAC,GAAG,QAAQ,EAAE,GAAsB,CAAC;gBAC3C,aAAa,EAAE,SAAS;gBACxB,OAAO,EAAE,KAAK;aACf,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,IAAI,aAAa,CAAC,SAAS,CAAC,IAAI,aAAa,CAAC,SAAS,CAAC,EAAE,CAAC;YACzD,mBAAmB,CACjB,SAAyC,EACzC,SAAyC,EACzC,CAAC,GAAG,QAAQ,EAAE,GAAsB,CAAC,EACrC,MAAM,CACP,CAAC;YACF,OAAO;QACT,CAAC;QACD,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,CAAC,GAAG,QAAQ,EAAE,GAAsB,CAAC;gBAC3C,aAAa,EAAE,kBAAkB,CAAC,SAAS,CAAC;gBAC5C,OAAO,EAAE,IAAI;aACd,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,kBAAkB,CACzB,SAAiC;IAEjC,IAAI,CAAC,SAAS;QAAE,OAAO,SAAS,CAAC;IACjC,MAAM,KAAK,GAA0B,EAAE,CAAC;IACxC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QACrC,KAAK,CAAC,GAAU,CAAC,GAAG,SAAS,CAAC,GAAU,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CACpD,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CACxE,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,aAAa,CACpB,MAAoC,EACpC,IAAyB;IAEzB,IAAI,OAAO,GAA6C,MAAM,CAAC;IAC/D,KAAK,MAAM,OAAO,IAAI,IAAI,EAAE,CAAC;QAC3B,IAAI,CAAC,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,OAAc,CAAC,CAAC,EAAE,CAAC;YACxD,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,GAAG,OAAO,CAAC,OAAc,CAAC,CAAC;IACpC,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,mBAAmB,CAC1B,MAAoC,EACpC,IAAyB;IAEzB,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACtC,MAAM,UAAU,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC7C,MAAM,GAAG,GAAG,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAClD,MAAM,MAAM,GACV,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QACvE,IAAI,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;YAAE,MAAM;QAC7C,MAAM,KAAK,GAAG,MAAM,CAAC,GAAU,CAAC,CAAC;QACjC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM;QACtE,OAAO,MAAM,CAAC,GAAU,CAAC,CAAC;IAC5B,CAAC;AACH,CAAC;AAkCD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,MAAa,UAAU;aACd,mBAAc,GAAG,0BAAc,CAAC;aAExB,iBAAY,GACzB,IAAI,OAAO,EAAE,CAAC;IAEhB;;;OAGG;aACY,eAAU,GASrB,EAAE,CAAC;IAEP;;;OAGG;aACY,oBAAe,GAAoB,eAAe,CAAC;IAElE;QACE,IAAA,sCAAuB,EAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC;QAChE,IAAA,sCAAuB,EAAC,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,CAC1C,IAAI,CAAC,wBAAwB,CAAC,MAAM,EAAE,OAAO,CAAC,CAC/C,CAAC;IACJ,CAAC;IAiBD,YAAoB,UAAkB,UAAU,CAAC,cAAc;QAA3C,YAAO,GAAP,OAAO,CAAoC;IAAG,CAAC;IAEnE;;;;;;;;OAQG;IACK,MAAM,CAAC,cAAc,CAAC,KAAU;QACtC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACzE,CAAC;QACD,IAAI,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACzC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,KAAK,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;YAChE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACtC,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,MAAM,CAAC,iBAAiB,CAC9B,KAAuB,EACvB,OAAe;QAEf,MAAM,aAAa,GAAI,mBAAgB,CAAC,WAAW,CAGlD,CAAC;QACF,MAAM,cAAc,GAAG,mBAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACpD,MAAM,cAAc,GAClB,OAAO,KAAK,CAAC,YAAY,KAAK,WAAW;YACvC,CAAC,CAAC,kBAAkB,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;YACnD,CAAC,CAAC,SAAS,CAAC;QAChB,IAAI,CAAC;YACH,IACE,OAAO,KAAK,CAAC,WAAW,KAAK,WAAW;gBACxC,OAAO,KAAK,CAAC,kBAAkB,KAAK,WAAW;gBAC/C,KAAK,CAAC,MAAM,EACZ,CAAC;gBACD,MAAM,iBAAiB,GAAG,MAAM,CAAC,wBAAwB,CACvD,KAAK,CAAC,MAAM,EACZ,KAAK,CAAC,WAAW,CAClB,CAAC;gBACF,KAAK,CAAC,gBAAgB,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAC3D,KAAK,CAAC,MAAM,EACZ,KAAK,CAAC,WAAW,CAClB,CAAC;gBACF,KAAK,CAAC,kBAAkB,GAAG,iBAAiB;oBAC1C,CAAC,CAAC,EAAE,GAAG,iBAAiB,EAAE;oBAC1B,CAAC,CAAC,SAAS,CAAC;YAChB,CAAC;YACD,MAAM,gBAAgB,GAAG,KAAK,CAAC,WAAW;gBACxC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE;gBACrB,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YAC3C,MAAM,gBAAgB,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAChE,KAAK,CAAC,MAAM,EACZ,KAAK,CAAC,WAA8B,EACpC,KAAK,CAAC,UAA0C,CACjD,CAAC;YAEF,IACE,OAAO,KAAK,CAAC,WAAW,KAAK,WAAW;gBACxC,gBAAgB;gBAChB,KAAK,CAAC,MAAM,EACZ,CAAC;gBACD,MAAM,CAAC,cAAc,CACnB,KAAK,CAAC,MAAM,EACZ,KAAK,CAAC,WAAW,EACjB,gBAAsC,CACvC,CAAC;YACJ,CAAC;YACD,IACE,OAAO,KAAK,CAAC,WAAW,KAAK,WAAW;gBACxC,OAAO,KAAK,CAAC,UAAU,KAAK,WAAW,EACvC,CAAC;gBACD,uEAAuE;gBACvE,IAAA,WAAI,GAAE,CAAC,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;YACzD,CAAC;YACD,IAAI,OAAO,KAAK,CAAC,YAAY,KAAK,WAAW,EAAE,CAAC;gBAC9C,MAAM,aAAa,GAAG,kBAAkB,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,CAAC;gBACxE,KAAK,CAAC,YAAY,GAAG,mBAAmB,CACtC,cAA0D,EAC1D,aAAyD,CAC1D,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CACX,yCACE,KAAK,CAAC,KAAK,EAAE,IAAI,IAAI,WACvB,IAAI,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,EAC/B,KAAK,CACN,CAAC;QACJ,CAAC;IACH,CAAC;IAES,MAAM,CAAC,WAAW,CAAC,KAAU;QACrC,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QACzC,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,KAAK,CAAC,OAAO;YAAE,KAAK,CAAC,OAAO,GAAG,UAAU,CAAC,cAAc,CAAC;QAC9D,mBAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,0BAAc,CAAC,UAAU,EAAE,2BAAe,CAAC,OAAO,CAAC,CAAC;IAC1E,CAAC;IAEO,MAAM,CAAC,oBAAoB,CAAC,KAAU;QAC5C,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,MAAM,SAAS,GAAG,IAAA,+BAAa,EAC7B,KAAK,EACL,UAAU,CAAC,cAAc,EACzB,UAAU,CAAC,cAAc,CAC1B,CAAC;QACF,IAAI,QAA4B,CAAC;QACjC,IAAI,CAAC;YACH,QAAQ,GAAG,UAAU,CAAC,iBAAiB,CAAC;gBACtC,CAAC,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,SAAS,CAAC;gBAC1C,CAAC,CAAC,SAAS,CAAC;QAChB,CAAC;QAAC,MAAM,CAAC;YACP,QAAQ,GAAG,SAAS,CAAC;QACvB,CAAC;QACD,IAAI,QAAQ,IAAI,QAAQ,KAAK,UAAU,CAAC,cAAc,EAAE,CAAC;YACvD,UAAU,CAAC,0BAA0B,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAC9D,CAAC;aAAM,CAAC;YACN,UAAU,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAEO,MAAM,CAAC,sBAAsB,CAAC,KAAU;QAC9C,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QACzC,IAAI,KAAK,CAAC,gBAAgB,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ;YAAE,OAAO;QACvE,KAAK,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC9B,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;YAC1B,KAAK,CAAC,gBAAgB,GAAG,KAAK,CAAC;YAC/B,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;gBACpB,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;YACvC,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAES,MAAM,CAAC,wBAAwB,CACvC,KAAU,EACV,MAAW,EACX,QAGwC,EACxC,WAA6B,EAC7B,UAAkD,EAClD,YAAoC,EACpC,aAAsB;QAEtB,MAAM,GAAG,GAAG,GACV,KAAK,EAAE,IAAI,IAAI,WACjB,IAAI,MAAM,CAAC,WAAW,IAAI,OAAO,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;QAEpE,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QACzC,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAAC;QAC3D,MAAM,KAAK,GAAqB;YAC9B,KAAK;YACL,MAAM;YACN,WAAW;YACX,UAAU;YACV,QAAQ;YACR,YAAY,EAAE,iBAAiB;YAC/B,WAAW,EAAE,GAAG,EAAE,CAAC,kBAAkB,CAAC,iBAAiB,CAAC;YACxD,GAAG;YACH,aAAa;SACd,CAAC;QAEF,MAAM,gBAAgB,GAAG,GAAG,EAAE;YAC5B,MAAM,YAAY,GAChB,KAAK,CAAC,OAAO;gBACb,mBAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,0BAAc,CAAC,OAAO,CAAC;gBAC3C,UAAU,CAAC,cAAc,CAAC;YAC5B,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;YAC5C,KAAK,CAAC,eAAe,GAAG,KAAK,CAAC,MAAM,CAAC;YACrC,KAAK,CAAC,kBAAkB,GAAG,YAAY,CAAC;YACxC,OAAO,YAAY,CAAC;QACtB,CAAC,CAAC;QAEF,MAAM,aAAa,GAAG,GAAG,EAAE;YACzB,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC1B,OAAO,KAAK,CAAC;QACf,CAAC,CAAC;QAEF,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;YACtB,aAAa,EAAE,CAAC;YAChB,MAAM,YAAY,GAAG,gBAAgB,EAAE,CAAC;YACxC,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YAC1C,KAAK,CAAC,OAAO,GAAG,YAAY,CAAC;YAC7B,mBAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,0BAAc,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;YACrD,OAAO,GAAG,CAAC;QACb,CAAC;QAED,aAAa,EAAE,CAAC;QAEhB,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACnB,gBAAgB,EAAE,CAAC;YACnB,OAAO,GAAG,CAAC;QACb,CAAC;QAED,IAAI,UAAU,CAAC,eAAe,KAAK,eAAe,EAAE,CAAC;YACnD,IAAI,CAAC;gBACH,MAAM,YAAY,GAAG,UAAU,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;gBACvD,IAAI,YAAY,IAAI,YAAY,KAAK,UAAU,CAAC,cAAc,EAAE,CAAC;oBAC/D,IAAI,CAAC,wBAAwB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;oBACnD,OAAO,GAAG,CAAC;gBACb,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,2DAA2D;YAC7D,CAAC;QACH,CAAC;QAED,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;QACnC,OAAO,GAAG,CAAC;IACb,CAAC;IAES,MAAM,CAAC,wBAAwB,CACvC,MAAW,EACX,OAAgB;QAEhB,MAAM,KAAK,GACT,OAAO,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,WAAW,IAAI,MAAM,CAAC;QACxE,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QACzC,KAAK,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC/B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO;YAAE,OAAO;QAE9C,MAAM,eAAe,GACnB,OAAO;YACP,KAAK,CAAC,OAAO;YACb,mBAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,0BAAc,CAAC,OAAO,CAAC;YAC3C,UAAU,CAAC,cAAc,CAAC;QAE5B,IAAI,KAAK,CAAC,QAAQ;YAAE,OAAO;QAE3B,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,IAAI,CAAC,CAAC;QACvC,IACE,CAAC,OAAO;YACR,KAAK,CAAC,kBAAkB,KAAK,eAAe;YAC5C,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,EAC9B,CAAC;YACD,OAAO;QACT,CAAC;QAED,MAAM,cAAc,GAClB,OAAO,CAAC,OAAO,IAAI,OAAO,KAAK,UAAU,CAAC,cAAc,CAAC;YACzD,KAAK,CAAC,WAAW,CAAC;QACpB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM;YAAE,OAAO;QAElC,MAAM,WAAW,GAAG,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAC5C,KAAK,CAAC,MAAM,GAAG,WAAW,CAAC;QAC3B,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC;YACH,IAAI,cAAc,EAAE,CAAC;gBACnB,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;oBAClC,IAAI,CAAC,KAAK;wBAAE,SAAS;oBACrB,IAAI,KAAK,CAAC,eAAe,KAAK,WAAW;wBAAE,SAAS;oBACpD,MAAM,WAAW,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;oBACrE,MAAM,cAAc,GAClB,OAAO,KAAK,CAAC,YAAY,KAAK,WAAW;wBACzC,OAAO,KAAK,CAAC,kBAAkB,KAAK,WAAW,CAAC;oBAClD,IAAI,CAAC,cAAc,EAAE,CAAC;wBACpB,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;wBAC/C,KAAK,CAAC,eAAe,GAAG,WAAW,CAAC;wBACpC,KAAK,CAAC,kBAAkB,GAAG,eAAe,CAAC;wBAC3C,SAAS;oBACX,CAAC;oBACD,IAAI,KAAK,CAAC,kBAAkB,KAAK,eAAe,IAAI,CAAC,WAAW,EAAE,CAAC;wBACjE,KAAK,CAAC,eAAe,GAAG,WAAW,CAAC;wBACpC,SAAS;oBACX,CAAC;oBACD,IAAI,KAAK,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC;wBAC/B,kBAAkB,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;oBACtD,CAAC;oBACD,yBAAyB,CAAC,KAAK,CAAC,CAAC;oBACjC,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;oBAC/C,KAAK,CAAC,eAAe,GAAG,WAAW,CAAC;oBACpC,KAAK,CAAC,kBAAkB,GAAG,eAAe,CAAC;gBAC7C,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,IAAI,KAAK,GAAG,MAAM,CAAC;gBACnB,OAAO,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;oBACpC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;oBACrC,IAAI,CAAC,KAAK;wBAAE,SAAS;oBACrB,IAAI,KAAK,CAAC,eAAe,KAAK,WAAW;wBAAE,SAAS;oBACpD,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;oBAC/C,KAAK,CAAC,eAAe,GAAG,WAAW,CAAC;oBACpC,KAAK,CAAC,kBAAkB,GAAG,eAAe,CAAC;gBAC7C,CAAC;gBACD,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YAC5C,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC;QACzB,CAAC;QAED,KAAK,CAAC,OAAO,GAAG,eAAe,CAAC;QAChC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;QACtB,KAAK,CAAC,kBAAkB,GAAG,eAAe,CAAC;QAC3C,IAAI,cAAc,EAAE,CAAC;YACnB,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YAC1C,IAAI,eAAe,KAAK,UAAU,CAAC,cAAc,EAAE,CAAC;gBAClD,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC;YAC3B,CAAC;QACH,CAAC;QAED,mBAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,0BAAc,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IACvD,CAAC;IAED;;;;;OAKG;IACH,GAAG,CAAC,GAAW;QACb,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;OAMG;IACK,QAAQ,CACd,QAAiB,KAAK,EACtB,GAAG,UAAiC;QAEpC,IAAI,CAAC,IAAI,CAAC,GAAG;YACX,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACzE,IACE,CAAC,CAAC,UAAU,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;YACnC,CAAC,KAAK;YACN,IAAI,CAAC,OAAO,KAAK,UAAU,CAAC,cAAc;YAE1C,MAAM,IAAI,KAAK,CACb,2EAA2E,CAC5E,CAAC;QACJ,iFAAiF;QACjF,IAAI,KAAK,EAAE,CAAC;YACT,IAAY,CAAC,MAAM,GAAG,IAAI,GAAG,CAAC;gBAC7B,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;gBACtC,GAAG,UAAU;aACd,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,oEAAoE;YACnE,IAAY,CAAC,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC;QACtD,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,qBAAqB;QAC3B,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI;YAAE,OAAO,SAAS,CAAC;QAChE,MAAM,SAAS,GAA0B,EAAE,CAAC;QAC5C,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YAC5D,IACE,OAAO,KAAK,KAAK,QAAQ;gBACzB,MAAM,IAAI,KAAK;gBACf,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EACzB,CAAC;gBACD,SAAS,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CACxC,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI;oBACrC,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC;oBACzB,CAAC,CAAC,GAAG,CACR,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/D,CAAC;IAED;;;;;OAKG;IACH,MAAM,CACJ,GAAG,UAA2B;QAE9B,IACE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;YAC7C,UAAU,CAAC,MAAM,KAAK,CAAC;YAEvB,MAAM,IAAI,KAAK,CACb,0DAA0D,CAC3D,CAAC;QACJ,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,UAAU,CAAC,CAAC;IAC7C,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,GAAG,UAAiC;QACzC,IACE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;YAC7C,UAAU,CAAC,MAAM,KAAK,CAAC;YAEvB,MAAM,IAAI,KAAK,CACb,oEAAoE,CACrE,CAAC;QACJ,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,UAAU,CAAC,CAAC;IAC5C,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;OAqBG;IACO,gBAAgB,CACxB,GAAW,EACX,CAAU,EACV,SAAiC;QAEjC,SAAS,gBAAgB,CACvB,MAAc,EACd,WAAiB,EACjB,UAAyC;YAEzC,MAAM,OAAO,GAAG,CAAC,IAAI,UAAU,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;YACxD,MAAM,KAAK,GAAG,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YACzC,IAAI,UAAU,CAAC;YACf,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC;gBAC3B,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM;gBACvB,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC;YAE5C,IACE,KAAK;gBACL,KAAK,CAAC,OAAO,CAAC;gBACd,KAAK,CAAC,OAAO,CAAC,CAAC,UAAU;gBACzB,KAAK,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,IAAI,EAC9B,CAAC;gBACD,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC;YACzC,CAAC;iBAAM,CAAC;gBACN,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,UAAU,CAAC;YAC3D,CAAC;YAED,MAAM,kBAAkB,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAExE,MAAM,qBAAqB,GAAG;gBAC5B,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,UAAU,IAAI,IAAI,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;aACxE,CAAC;YAEF,MAAM,eAAe,GAAG,kBAAkB,CAAC,MAAM,CAC/C,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gBACtB,IACE,OAAO,KAAK,KAAK,QAAQ;oBACzB,MAAM,IAAK,KAAa;oBACxB,KAAK,CAAC,OAAO,CAAE,KAAa,CAAC,IAAI,CAAC,EAClC,CAAC;oBACD,KAAK,CAAC,KAAK,CAAC,GAAI,KAAa,CAAC,IAAI,CAAC;gBACrC,CAAC;gBACD,OAAO,KAAK,CAAC;YACf,CAAC,EACD,EAA2B,CAC5B,CAAC;YAEF,MAAM,kBAAkB,GAAG,qBAAqB,CAAC,MAAM,CACrD,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gBACtB,IACE,OAAO,KAAK,KAAK,QAAQ;oBACzB,MAAM,IAAK,KAAa;oBACxB,KAAK,CAAC,OAAO,CAAE,KAAa,CAAC,IAAI,CAAC,EAClC,CAAC;oBACD,KAAK,CAAC,KAAK,CAAC,GAAI,KAAa,CAAC,IAAI,CAAC;gBACrC,CAAC;gBACD,OAAO,KAAK,CAAC;YACf,CAAC,EACD,EAA2B,CAC5B,CAAC;YAEF,MAAM,OAAO,GAAG;gBACd,GAAG,kBAAkB;gBACrB,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACnC,CAAC;YAEF,MAAM,UAAU,GAAG,kBAAkB,CAAC,MAAM,CAAC;YAC7C,MAAM,aAAa,GAAG,SAAS,IAAI,EAAE,CAAC;YAEtC,IAAI,aAAa,GAAG,MAAM,CAAC;YAC3B,IAAI,iBAAiB,GAAG,UAAU,CAAC;YAEnC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;gBAC3B,IAAI,WAA2B,CAAC;gBAChC,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;oBAC1B,MAAM,KAAK,GAAG,CAAQ,CAAC;oBACvB,MAAM,cAAc,GAAG,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;oBACtD,MAAM,YAAY,GAChB,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;oBACjE,MAAM,IAAI,GACR,YAAY;wBACZ,CAAC,MAAM,IAAI,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;4BAC3C,CAAC,CAAC,KAAK,CAAC,IAAI;4BACZ,CAAC,CAAC,CAAC,eAAe,CAAC,cAAc,CAAC;gCAChC,kBAAkB,CAAC,cAAc,CAAC;gCAClC,kBAAkB,CAAC,CAAC,CAAC;gCACrB,EAAE,CAAC,CAAC,CAAC;oBACX,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAY,EAAE,EAAE,CAC/C,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI;wBACrC,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC;wBACzB,CAAC,CAAC,GAAG,CACR,CAAC;oBACF,WAAW,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,cAAc,CAAmB,CAAC;gBACrE,CAAC;qBAAM,IAAI,OAAO,CAAC,KAAK,UAAU,EAAE,CAAC;oBACnC,WAAW,GAAG,CAAmB,CAAC;gBACpC,CAAC;qBAAM,CAAC;oBACN,MAAM,IAAI,KAAK,CAAC,8BAA8B,OAAO,CAAC,EAAE,CAAC,CAAC;gBAC5D,CAAC;gBAED,MAAM,MAAM,GAAI,WAAmB,CACjC,OAAO,WAAW,KAAK,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,EAC3D,WAAW,EACX,iBAAiB,CAClB,CAAC;gBAEF,IAAI,OAAO,WAAW,KAAK,WAAW,EAAE,CAAC;oBACvC,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE,CAAC;wBACjC,aAAa,GAAG,MAAM,CAAC;oBACzB,CAAC;gBACH,CAAC;qBAAM,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;oBACzC,iBAAiB,GAAG,MAAM,CAAC;gBAC7B,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,OAAO,OAAO,WAAW,KAAK,WAAW;gBACvC,CAAC,CAAC,aAAa;gBACf,CAAC,CAAC,iBAAiB,CAAC;QACxB,CAAC;QACD,MAAM,CAAC,cAAc,CAAC,gBAAgB,EAAE,MAAM,EAAE;YAC9C,KAAK,EAAE,CAAC,CAAC,IAAI,SAAS,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC;YACpD,QAAQ,EAAE,KAAK;SAChB,CAAC,CAAC;QACH,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAED;;;;OAIG;IACH,KAAK;QAKH,IAAI,CAAC,IAAI,CAAC,GAAG;YACX,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAEhE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QAErB,MAAM,kBAAkB,GACtB,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC;QAC9D,MAAM,oBAAoB,GACxB,IAAI,CAAC,UAAU,IAAI,kBAAkB,IAAI,IAAI,GAAG,EAAiB,CAAC;QAEpE,MAAM,gBAAgB,GACpB,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;QAE/D,UAAU,CAAC,QAAQ,CACjB,IAAI,CAAC,GAAG,EACR,IAAI,CAAC,OAAO,EACZ,oBAAoB,EACpB,gBAAgB,CACjB,CAAC;QAEF,MAAM,OAAO,GAAG,CAAC,MAAW,EAAE,WAAiB,EAAE,UAAgB,EAAE,EAAE;YACnE,MAAM,QAAQ,GAAG,OAAO,WAAW,KAAK,WAAW,CAAC;YACpD,MAAM,KAAK,GACT,OAAO,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,WAAW,IAAI,MAAM,CAAC;YACxE,IAAI,KAAK,IAAI,QAAQ,EAAE,CAAC;gBACtB,MAAM,cAAc,GAAG,mBAAQ,CAAC,UAAU,CAAC,CACzC,mBAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,EACtB,0BAAc,CAAC,OAAO,CACvB,CAAC;gBACF,IAAI,CAAC,cAAc;oBAAE,UAAU,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;gBAC5D,MAAM,YAAY,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBAClD,UAAU,CAAC,wBAAwB,CACjC,KAAK,EACL,MAAM,EACN,CAAC,eAAuB,EAAE,EAAE;oBAC1B,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,eAAe,EAAE,YAAY,CAAC,CAAC;gBACnE,CAAC,EACD,WAAW,EACX,UAAU,EACV,YAAY,EACZ,GAAG,CACJ,CAAC;gBACF,UAAU,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;gBAC3C,IAAI,WAAW,IAAI,CAAC,UAAU,EAAE,CAAC;oBAC/B,IAAA,WAAI,GAAE,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,yBAAyB;gBACvD,CAAC;gBACD,IAAI,WAAW,IAAI,UAAU,EAAE,CAAC;oBAC9B,yGAAyG;oBACzG,IAAA,aAAM,GAAE,CAAC,KAAK,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC,uBAAuB;gBACnE,CAAC;gBACD,OAAO,UAAU,CAAC;YACpB,CAAC;YAED,MAAM,WAAW,GACf,IAAI,CAAC,OAAO,KAAK,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;YACxE,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAa,EAAE,WAAW,CAAC,CACtD,MAAM,EACN,WAAW,EACX,UAAU,CACX,CAAC;QACJ,CAAC,CAAC;QAEF,IAAI,CAAC;YACH,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE;gBACrC,KAAK,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC;gBAClD,QAAQ,EAAE,KAAK;aAChB,CAAC,CAAC;YACH,6DAA6D;QAC/D,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,2DAA2D;QAC7D,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;;;;;OAQG;IACK,MAAM,CAAC,QAAQ,CACrB,GAAW,EACX,OAAe,EACf,UAA+B,EAC/B,MAAiC;QAEjC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAChE,CAAC;QACD,IAAI,CAAC,UAAU;YACb,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACvE,IAAI,CAAC,OAAO;YACV,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QAEpE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;QACjE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;YACtC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;QAC3C,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,GAAG,UAAU,CAAC;QAC5D,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;YAClC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC;QACtD,CAAC;IACH,CAAC;IAED,MAAM,CAAC,WAAW,CAAC,QAAyB;QAC1C,UAAU,CAAC,eAAe,GAAG,QAAQ,CAAC;IACxC,CAAC;IAEO,MAAM,CAAC,mBAAmB,CAChC,KAAuB,EACvB,OAAe;QAEf,IAAI,CAAC,KAAK,CAAC,aAAa;YAAE,OAAO,KAAK,CAAC;QACvC,IAAI,OAAO,KAAK,UAAU,CAAC,cAAc;YAAE,OAAO,KAAK,CAAC;QACxD,MAAM,KAAK,GAAG,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACzD,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAC;QACzB,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;QACrC,IAAI,CAAC,aAAa;YAAE,OAAO,KAAK,CAAC;QACjC,MAAM,aAAa,GAAG,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;QACvD,MAAM,aAAa,GACjB,aAAa,CAAC,UAAU,IAAI,aAAa,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,CAAC;QAChE,MAAM,SAAS,GACb,aAAa,CAAC,MAAM,YAAY,GAAG,IAAI,aAAa,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;QACvE,IAAI,CAAC,aAAa,IAAI,CAAC,SAAS;YAAE,OAAO,KAAK,CAAC;QAC/C,IAAI,CAAC,aAAa;YAAE,OAAO,IAAI,CAAC;QAChC,MAAM,eAAe,GACnB,CAAC,aAAa,IAAI,aAAa,CAAC,UAAU,KAAK,aAAa,CAAC,UAAU,CAAC;QAC1E,MAAM,WAAW,GACf,CAAC,SAAS,IAAI,aAAa,CAAC,MAAM,KAAK,aAAa,CAAC,MAAM,CAAC;QAC9D,OAAO,CAAC,CAAC,eAAe,IAAI,WAAW,CAAC,CAAC;IAC3C,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,GAAG,CAAC,GAAW;QACpB,OAAO,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,WAAW,CAAC,OAAe;QAChC,OAAO,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;;AApwBH,gCAqwBC;AACD,SAAS,kBAAkB,CAAC,KAAU,EAAE,IAA0B;IAChE,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QAC1B,OAAO;IACT,CAAC;IACD,MAAM,aAAa,GAAI,mBAAgB,CAAC,WAAW,CAGlD,CAAC;IACF,MAAM,MAAM,GAAG,mBAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACtC,MAAM,MAAM,GACV,aAAa,CAAC,MAAM,CAAC;QACrB,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,EAAkC,CAAC,CAAC;IAC/D,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,EAAE,EAAE;QAChD,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO;QACzB,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,0BAAc,CAAC,UAAU;YAAE,OAAO;QAClD,IAAI,MAAM,GAAiC,MAAM,CAAC;QAClD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACpB,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,GAAU,CAAC,CAAC,EAAE,CAAC;gBACvC,MAAM,CAAC,GAAU,CAAC,GAAG,EAAE,CAAC;YAC1B,CAAC;YACD,MAAM,GAAG,MAAM,CAAC,GAAU,CAAC,CAAC;QAC9B,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAClC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,MAAM,CAAC,GAAU,CAAC,CAAC;YAC1B,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACjD,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,GAAU,CAAC,GAAG,kBAAkB,CAAC,aAAa,CAAC,CAAC;QACzD,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,yBAAyB,CAAC,KAAuB;IACxD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,CAAC,WAAW,KAAK,WAAW;QAAE,OAAO;IAC/D,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAC5B,IAAI,CAAC,MAAM,IAAI,OAAO,KAAK,CAAC,gBAAgB,KAAK,WAAW;QAAE,OAAO;IACrE,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;IACtC,MAAM,QAAQ,GAAG,KAAK,CAAC,kBAAkB,CAAC;IAC1C,IAAI,KAAK,CAAC,gBAAgB,EAAE,CAAC;QAC3B,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;QACvD,CAAC;aAAM,CAAC;YACN,OAAQ,MAAuC,CAAC,WAAkB,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;SAAM,CAAC;QACN,OAAQ,MAAuC,CAAC,WAAkB,CAAC,CAAC;QACpE,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.assignFlavour = assignFlavour;
|
|
4
|
+
const constants_1 = require("./../constants.cjs");
|
|
5
|
+
const Metadata_1 = require("./../metadata/Metadata.cjs");
|
|
6
|
+
const FLAVOUR_BUCKET_SYMBOL = Symbol.for(constants_1.DecorationKeys.FLAVOUR);
|
|
7
|
+
/**
|
|
8
|
+
* Updates the metadata registry to associate a constructor with the provided flavour.
|
|
9
|
+
* Removes the constructor from its previous flavour bucket, registers it under the new flavour, and mirrors the flavour value on the constructor.
|
|
10
|
+
* @param object Target object being decorated.
|
|
11
|
+
* @param flavour Flavour identifier to assign.
|
|
12
|
+
* @param defaultFlavour Fallback flavour used when no previous flavour is recorded.
|
|
13
|
+
* @returns Canonical constructor associated with the target.
|
|
14
|
+
*/
|
|
15
|
+
function assignFlavour(object, flavour, defaultFlavour) {
|
|
16
|
+
const canonical = Metadata_1.Metadata.constr(object);
|
|
17
|
+
const previousFlavour = Metadata_1.Metadata["innerGet"](Metadata_1.Metadata.Symbol(object), constants_1.DecorationKeys.FLAVOUR) || defaultFlavour;
|
|
18
|
+
const previousBucket = Metadata_1.Metadata["innerGet"](FLAVOUR_BUCKET_SYMBOL, previousFlavour) || [];
|
|
19
|
+
const filtered = previousBucket.filter((entry) => {
|
|
20
|
+
return Metadata_1.Metadata.constr(entry) !== canonical;
|
|
21
|
+
});
|
|
22
|
+
Metadata_1.Metadata.set(constants_1.DecorationKeys.FLAVOUR, previousFlavour, filtered);
|
|
23
|
+
const nextBucket = new Set(Metadata_1.Metadata["innerGet"](FLAVOUR_BUCKET_SYMBOL, flavour) || []);
|
|
24
|
+
nextBucket.add(object);
|
|
25
|
+
Metadata_1.Metadata.set(constants_1.DecorationKeys.FLAVOUR, flavour, [...nextBucket]);
|
|
26
|
+
Metadata_1.Metadata.set(canonical, constants_1.DecorationKeys.FLAVOUR, flavour);
|
|
27
|
+
return canonical;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=flavourRegistry.js.map
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Updates the metadata registry to associate a constructor with the provided flavour.
|
|
3
|
+
* Removes the constructor from its previous flavour bucket, registers it under the new flavour, and mirrors the flavour value on the constructor.
|
|
4
|
+
* @param object Target object being decorated.
|
|
5
|
+
* @param flavour Flavour identifier to assign.
|
|
6
|
+
* @param defaultFlavour Fallback flavour used when no previous flavour is recorded.
|
|
7
|
+
* @returns Canonical constructor associated with the target.
|
|
8
|
+
*/
|
|
9
|
+
export declare function assignFlavour(object: object, flavour: string, defaultFlavour: string): any;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flavourRegistry.js","sourceRoot":"","sources":["../../src/decoration/flavourRegistry.ts"],"names":[],"mappings":";;AAaA,sCAwBC;AArCD,kDAA8C;AAC9C,yDAAgD;AAEhD,MAAM,qBAAqB,GAAG,MAAM,CAAC,GAAG,CAAC,0BAAc,CAAC,OAAO,CAAC,CAAC;AAEjE;;;;;;;GAOG;AACH,SAAgB,aAAa,CAC3B,MAAc,EACd,OAAe,EACf,cAAsB;IAEtB,MAAM,SAAS,GAAG,mBAAQ,CAAC,MAAM,CAAC,MAAa,CAAC,CAAC;IACjD,MAAM,eAAe,GACnB,mBAAQ,CAAC,UAAU,CAAC,CAClB,mBAAQ,CAAC,MAAM,CAAC,MAAa,CAAC,EAC9B,0BAAc,CAAC,OAAO,CACvB,IAAI,cAAc,CAAC;IACtB,MAAM,cAAc,GAClB,mBAAQ,CAAC,UAAU,CAAC,CAAC,qBAAqB,EAAE,eAAe,CAAC,IAAI,EAAE,CAAC;IACrE,MAAM,QAAQ,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,KAAU,EAAE,EAAE;QACpD,OAAO,mBAAQ,CAAC,MAAM,CAAC,KAAY,CAAC,KAAK,SAAS,CAAC;IACrD,CAAC,CAAC,CAAC;IACH,mBAAQ,CAAC,GAAG,CAAC,0BAAc,CAAC,OAAO,EAAE,eAAe,EAAE,QAAQ,CAAC,CAAC;IAChE,MAAM,UAAU,GAAG,IAAI,GAAG,CACxB,mBAAQ,CAAC,UAAU,CAAC,CAAC,qBAAqB,EAAE,OAAO,CAAC,IAAI,EAAE,CAC3D,CAAC;IACF,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACvB,mBAAQ,CAAC,GAAG,CAAC,0BAAc,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC;IAC/D,mBAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,0BAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACzD,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
package/lib/decoration/index.cjs
CHANGED
|
@@ -19,5 +19,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
19
19
|
};
|
|
20
20
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
21
|
__exportStar(require("./Decoration.cjs"), exports);
|
|
22
|
+
__exportStar(require("./flavourRegistry.cjs"), exports);
|
|
23
|
+
__exportStar(require("./metadataLink.cjs"), exports);
|
|
22
24
|
__exportStar(require("./types.cjs"), exports);
|
|
23
25
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/decoration/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;AAEH,mDAA6B;AAC7B,8CAAwB"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/decoration/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;AAEH,mDAA6B;AAC7B,wDAAkC;AAClC,qDAA+B;AAC/B,8CAAwB"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.registerFlavourResolver = registerFlavourResolver;
|
|
4
|
+
exports.resolveFlavour = resolveFlavour;
|
|
5
|
+
exports.registerPendingResolver = registerPendingResolver;
|
|
6
|
+
exports.resolvePendingDecorators = resolvePendingDecorators;
|
|
7
|
+
const constants_1 = require("./../constants.cjs");
|
|
8
|
+
let flavourResolver;
|
|
9
|
+
let pendingResolver;
|
|
10
|
+
function registerFlavourResolver(resolver) {
|
|
11
|
+
flavourResolver = resolver;
|
|
12
|
+
}
|
|
13
|
+
function resolveFlavour(model) {
|
|
14
|
+
if (!flavourResolver)
|
|
15
|
+
return constants_1.DefaultFlavour;
|
|
16
|
+
return flavourResolver(model);
|
|
17
|
+
}
|
|
18
|
+
function registerPendingResolver(resolver) {
|
|
19
|
+
pendingResolver = resolver;
|
|
20
|
+
}
|
|
21
|
+
function resolvePendingDecorators(target, flavour) {
|
|
22
|
+
if (!pendingResolver)
|
|
23
|
+
return;
|
|
24
|
+
pendingResolver(target, flavour);
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=metadataLink.js.map
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Constructor } from "../metadata/types";
|
|
2
|
+
type FlavourResolver = (model: Constructor) => string;
|
|
3
|
+
type PendingResolver = (target: any, flavour?: string) => void;
|
|
4
|
+
export declare function registerFlavourResolver(resolver: FlavourResolver): void;
|
|
5
|
+
export declare function resolveFlavour(model: Constructor): string;
|
|
6
|
+
export declare function registerPendingResolver(resolver: PendingResolver): void;
|
|
7
|
+
export declare function resolvePendingDecorators(target: any, flavour?: string): void;
|
|
8
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metadataLink.js","sourceRoot":"","sources":["../../src/decoration/metadataLink.ts"],"names":[],"mappings":";;AASA,0DAEC;AAED,wCAGC;AAED,0DAEC;AAED,4DAMC;AA3BD,kDAA8C;AAK9C,IAAI,eAA4C,CAAC;AACjD,IAAI,eAA4C,CAAC;AAEjD,SAAgB,uBAAuB,CAAC,QAAyB;IAC/D,eAAe,GAAG,QAAQ,CAAC;AAC7B,CAAC;AAED,SAAgB,cAAc,CAAC,KAAkB;IAC/C,IAAI,CAAC,eAAe;QAAE,OAAO,0BAAc,CAAC;IAC5C,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC;AAED,SAAgB,uBAAuB,CAAC,QAAyB;IAC/D,eAAe,GAAG,QAAQ,CAAC;AAC7B,CAAC;AAED,SAAgB,wBAAwB,CACtC,MAAW,EACX,OAAgB;IAEhB,IAAI,CAAC,eAAe;QAAE,OAAO;IAC7B,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AACnC,CAAC"}
|
package/lib/decorators.cjs
CHANGED
|
@@ -1,75 +1,26 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.metadata =
|
|
4
|
-
exports.metadataArray = metadataArray;
|
|
3
|
+
exports.methodMetadata = exports.propMetadata = exports.apply = exports.method = exports.prop = exports.paramMetadata = exports.param = exports.metadataArray = exports.metadata = void 0;
|
|
5
4
|
exports.uses = uses;
|
|
6
|
-
exports.prop = prop;
|
|
7
|
-
exports.param = param;
|
|
8
|
-
exports.paramMetadata = paramMetadata;
|
|
9
|
-
exports.method = method;
|
|
10
|
-
exports.apply = apply;
|
|
11
|
-
exports.propMetadata = propMetadata;
|
|
12
|
-
exports.methodMetadata = methodMetadata;
|
|
13
5
|
exports.description = description;
|
|
14
|
-
const Metadata_1 = require("./metadata/Metadata.cjs");
|
|
15
|
-
const constants_1 = require("./constants.cjs");
|
|
16
6
|
const Decoration_1 = require("./decoration/Decoration.cjs");
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
function
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
typeof model === "function"
|
|
32
|
-
? model
|
|
33
|
-
: model.constructor || model;
|
|
34
|
-
if (typeof descriptor === "undefined") {
|
|
35
|
-
const metadataTarget = typeof model === "function" ? model.prototype : model;
|
|
36
|
-
const designType = Reflect.getOwnMetadata(constants_1.DecorationKeys.DESIGN_TYPE, metadataTarget, prop);
|
|
37
|
-
const propKey = Metadata_1.Metadata.key(constants_1.DecorationKeys.PROPERTIES, prop.toString());
|
|
38
|
-
const existing = Metadata_1.Metadata.get(targetModel, propKey);
|
|
39
|
-
if (typeof designType !== "undefined" ||
|
|
40
|
-
typeof existing === "undefined") {
|
|
41
|
-
Metadata_1.Metadata.set(targetModel, propKey, designType);
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
Metadata_1.Metadata.set(targetModel, key, value);
|
|
46
|
-
};
|
|
47
|
-
}
|
|
48
|
-
function metadataArray(key, ...data) {
|
|
49
|
-
return function metadataArray(target, propertyKey, descriptor) {
|
|
50
|
-
const existingData = Metadata_1.Metadata.get(target, key) || [];
|
|
51
|
-
const metaKey = propertyKey ? Metadata_1.Metadata.key(key, propertyKey) : key;
|
|
52
|
-
const arr = [metadata(metaKey, [...new Set([...existingData, ...data])])];
|
|
53
|
-
return apply(...arr)(target, propertyKey, descriptor);
|
|
54
|
-
};
|
|
55
|
-
}
|
|
56
|
-
function manageFlavourRMetadata(object, flavour) {
|
|
57
|
-
const canonical = Metadata_1.Metadata.constr(object);
|
|
58
|
-
const flav = Metadata_1.Metadata["innerGet"](Metadata_1.Metadata.Symbol(object), constants_1.DecorationKeys.FLAVOUR) || Decoration_1.Decoration.defaultFlavour;
|
|
59
|
-
const old = Metadata_1.Metadata["innerGet"](Symbol.for(constants_1.DecorationKeys.FLAVOUR), flav) || [];
|
|
60
|
-
const filtered = old.filter((o) => {
|
|
61
|
-
return Metadata_1.Metadata.constr(o) !== canonical;
|
|
62
|
-
});
|
|
63
|
-
Metadata_1.Metadata.set(constants_1.DecorationKeys.FLAVOUR, flav, filtered);
|
|
64
|
-
const current = new Set(Metadata_1.Metadata["innerGet"](Symbol.for(constants_1.DecorationKeys.FLAVOUR), flavour) || []);
|
|
65
|
-
current.add(object);
|
|
66
|
-
Metadata_1.Metadata.set(constants_1.DecorationKeys.FLAVOUR, flavour, [...current]);
|
|
67
|
-
}
|
|
7
|
+
const constants_1 = require("./constants.cjs");
|
|
8
|
+
const Metadata_1 = require("./metadata/Metadata.cjs");
|
|
9
|
+
const flavourRegistry_1 = require("./decoration/flavourRegistry.cjs");
|
|
10
|
+
const core_1 = require("./shared/core.cjs");
|
|
11
|
+
var core_2 = require("./shared/core.cjs");
|
|
12
|
+
Object.defineProperty(exports, "metadata", { enumerable: true, get: function () { return core_2.metadata; } });
|
|
13
|
+
Object.defineProperty(exports, "metadataArray", { enumerable: true, get: function () { return core_2.metadataArray; } });
|
|
14
|
+
Object.defineProperty(exports, "param", { enumerable: true, get: function () { return core_2.param; } });
|
|
15
|
+
Object.defineProperty(exports, "paramMetadata", { enumerable: true, get: function () { return core_2.paramMetadata; } });
|
|
16
|
+
Object.defineProperty(exports, "prop", { enumerable: true, get: function () { return core_2.prop; } });
|
|
17
|
+
Object.defineProperty(exports, "method", { enumerable: true, get: function () { return core_2.method; } });
|
|
18
|
+
Object.defineProperty(exports, "apply", { enumerable: true, get: function () { return core_2.apply; } });
|
|
19
|
+
Object.defineProperty(exports, "propMetadata", { enumerable: true, get: function () { return core_2.propMetadata; } });
|
|
20
|
+
Object.defineProperty(exports, "methodMetadata", { enumerable: true, get: function () { return core_2.methodMetadata; } });
|
|
68
21
|
function uses(flavour) {
|
|
69
22
|
return (object) => {
|
|
70
|
-
const constr =
|
|
71
|
-
manageFlavourRMetadata(object, flavour);
|
|
72
|
-
Metadata_1.Metadata.set(constr, constants_1.DecorationKeys.FLAVOUR, flavour);
|
|
23
|
+
const constr = (0, flavourRegistry_1.assignFlavour)(object, flavour, Decoration_1.Decoration.defaultFlavour);
|
|
73
24
|
if (flavour !== Decoration_1.Decoration.defaultFlavour) {
|
|
74
25
|
Decoration_1.Decoration["resolvePendingDecorators"](constr, flavour);
|
|
75
26
|
}
|
|
@@ -93,149 +44,6 @@ function uses(flavour) {
|
|
|
93
44
|
return object;
|
|
94
45
|
};
|
|
95
46
|
}
|
|
96
|
-
/**
|
|
97
|
-
* @description Captures and stores a property's design type.
|
|
98
|
-
* @summary Decorator factory that reads the reflected `design:type` for a property and registers it in the metadata store under the properties map.
|
|
99
|
-
* @return {PropertyDecorator} Decorator that records the property's type metadata when applied.
|
|
100
|
-
* @function prop
|
|
101
|
-
* @category Property Decorators
|
|
102
|
-
*/
|
|
103
|
-
function prop() {
|
|
104
|
-
// function innerProp() {
|
|
105
|
-
return function innerProp(model, prop) {
|
|
106
|
-
const metadataTarget = typeof model === "function" ? model.prototype : model;
|
|
107
|
-
const designType = Reflect.getOwnMetadata(constants_1.DecorationKeys.DESIGN_TYPE, metadataTarget, prop);
|
|
108
|
-
return metadata(Metadata_1.Metadata.key(constants_1.DecorationKeys.PROPERTIES, prop), designType)(model, prop);
|
|
109
|
-
};
|
|
110
|
-
}
|
|
111
|
-
/**
|
|
112
|
-
* @description Captures a single parameter type for the decorated method.
|
|
113
|
-
* @summary Decorator factory that ensures the method metadata is initialised and stores the reflected parameter constructor at the provided index.
|
|
114
|
-
* @return {ParameterDecorator} Decorator that records the parameter type when applied.
|
|
115
|
-
* @function param
|
|
116
|
-
* @category Parameter Decorators
|
|
117
|
-
* @mermaid
|
|
118
|
-
* sequenceDiagram
|
|
119
|
-
* participant U as User Code
|
|
120
|
-
* participant P as param()
|
|
121
|
-
* participant M as Metadata
|
|
122
|
-
* U->>P: param()(target, key, index)
|
|
123
|
-
* P->>U: method()(target, key, descriptor)
|
|
124
|
-
* P->>M: params(constructor, key)
|
|
125
|
-
* M-->>P: parameter constructors[]
|
|
126
|
-
* P->>M: set(methods.key.index, constructor)
|
|
127
|
-
* P-->>U: parameter recorded
|
|
128
|
-
*/
|
|
129
|
-
function param() {
|
|
130
|
-
return function param(model, prop, index) {
|
|
131
|
-
if (!prop)
|
|
132
|
-
throw new Error(`The @param decorator can only be applied to methods`);
|
|
133
|
-
method()(model, prop, Object.getOwnPropertyDescriptor(model, prop));
|
|
134
|
-
const paramTpes = Metadata_1.Metadata.params(model.constructor, prop);
|
|
135
|
-
if (!paramTpes)
|
|
136
|
-
throw new Error(`Missing parameter types for ${String(prop)}`);
|
|
137
|
-
if (index >= paramTpes.length)
|
|
138
|
-
throw new Error(`Parameter index ${index} out of range for ${String(prop)}`);
|
|
139
|
-
metadata(Metadata_1.Metadata.key(constants_1.DecorationKeys.METHODS, prop, index.toString()), paramTpes[index])(model, prop);
|
|
140
|
-
};
|
|
141
|
-
}
|
|
142
|
-
/**
|
|
143
|
-
* @description Extends a parameter decorator with additional metadata.
|
|
144
|
-
* @summary Applies the default `param()` decorator and augments the stored metadata with an arbitrary key/value pair.
|
|
145
|
-
* @param {string} key Metadata key to associate with the parameter.
|
|
146
|
-
* @param {any} value Metadata value persisted under the given key.
|
|
147
|
-
* @return {ParameterDecorator} Decorator that records both the parameter design type and additional metadata.
|
|
148
|
-
* @function paramMetadata
|
|
149
|
-
* @category Parameter Decorators
|
|
150
|
-
*/
|
|
151
|
-
function paramMetadata(key, value) {
|
|
152
|
-
return function paramMetadata(target, prop, index) {
|
|
153
|
-
return apply(param(), metadata(Metadata_1.Metadata.key(constants_1.DecorationKeys.METHODS, prop, key), value))(target, prop, index);
|
|
154
|
-
};
|
|
155
|
-
}
|
|
156
|
-
/**
|
|
157
|
-
* @description Records method design-time metadata.
|
|
158
|
-
* @summary Decorator factory that captures a method's reflected parameter and return types, storing them under the appropriate metadata keys so they can be inspected at runtime.
|
|
159
|
-
* @return {MethodDecorator} Decorator that persists the method's signature information into the metadata store when applied.
|
|
160
|
-
* @function method
|
|
161
|
-
* @mermaid
|
|
162
|
-
* sequenceDiagram
|
|
163
|
-
* participant U as User Code
|
|
164
|
-
* participant F as method()
|
|
165
|
-
* participant M as Metadata
|
|
166
|
-
* U->>F: method()(target, key, descriptor)
|
|
167
|
-
* F->>U: Reflect.getOwnMetadata(design:paramtypes)
|
|
168
|
-
* F->>U: Reflect.getOwnMetadata(design:returntype)
|
|
169
|
-
* F->>M: set(methods.key.design:paramtypes, params)
|
|
170
|
-
* F->>M: set(methods.key.design:returntype, returnType)
|
|
171
|
-
* F-->>U: decorated function
|
|
172
|
-
* @category Method Decorators
|
|
173
|
-
*/
|
|
174
|
-
function method() {
|
|
175
|
-
return function method(obj, prop, descriptor) {
|
|
176
|
-
const designParams = Reflect.getOwnMetadata(constants_1.DecorationKeys.DESIGN_PARAMS, obj, prop);
|
|
177
|
-
const designReturn = Reflect.getOwnMetadata(constants_1.DecorationKeys.DESIGN_RETURN, obj, prop);
|
|
178
|
-
return apply(metadata(Metadata_1.Metadata.key(constants_1.DecorationKeys.METHODS, prop, constants_1.DecorationKeys.DESIGN_PARAMS), designParams), metadata(Metadata_1.Metadata.key(constants_1.DecorationKeys.METHODS, prop, constants_1.DecorationKeys.DESIGN_RETURN), designReturn))(obj, prop, descriptor);
|
|
179
|
-
};
|
|
180
|
-
}
|
|
181
|
-
/**
|
|
182
|
-
* @description Decorator factory that applies multiple decorators to a single target.
|
|
183
|
-
* @summary Creates a composite decorator that applies multiple decorators in sequence, correctly handling class, method, property, and parameter decorators.
|
|
184
|
-
* @param {Array<ClassDecorator|MethodDecorator|PropertyDecorator|ParameterDecorator>} decorators Collection of decorators to apply.
|
|
185
|
-
* @return {ClassDecorator|MethodDecorator|PropertyDecorator|ParameterDecorator} Decorator function that applies all provided decorators to the target.
|
|
186
|
-
* @function apply
|
|
187
|
-
* @mermaid
|
|
188
|
-
* sequenceDiagram
|
|
189
|
-
* participant U as User Code
|
|
190
|
-
* participant A as apply(...decorators)
|
|
191
|
-
* participant D as Decorator
|
|
192
|
-
* U->>A: get decorator(...decorators)
|
|
193
|
-
* A->>U: returns (target, key?, desc?) => void
|
|
194
|
-
* U->>A: invoke on target
|
|
195
|
-
* loop for each decorator
|
|
196
|
-
* A->>D: invoke appropriate decorator type
|
|
197
|
-
* end
|
|
198
|
-
* @category Decorators
|
|
199
|
-
*/
|
|
200
|
-
function apply(...decorators) {
|
|
201
|
-
return (target, propertyKey, descriptor) => {
|
|
202
|
-
for (const decorator of decorators) {
|
|
203
|
-
if (typeof propertyKey === "undefined") {
|
|
204
|
-
decorator(target);
|
|
205
|
-
continue;
|
|
206
|
-
}
|
|
207
|
-
if (typeof descriptor === "number") {
|
|
208
|
-
decorator(target, propertyKey, descriptor);
|
|
209
|
-
continue;
|
|
210
|
-
}
|
|
211
|
-
decorator(target, propertyKey, descriptor);
|
|
212
|
-
}
|
|
213
|
-
};
|
|
214
|
-
}
|
|
215
|
-
/**
|
|
216
|
-
* @description Creates a property metadata decorator.
|
|
217
|
-
* @summary Convenience factory that combines `metadata(key, value)` and `prop()` to both set an arbitrary metadata key and record the property's design type.
|
|
218
|
-
* @param {string} key Metadata key to set for the property.
|
|
219
|
-
* @param {any} value Metadata value to associate with the key.
|
|
220
|
-
* @return {PropertyDecorator} Decorator that sets the metadata and captures the property's type.
|
|
221
|
-
* @function propMetadata
|
|
222
|
-
* @category Property Decorators
|
|
223
|
-
*/
|
|
224
|
-
function propMetadata(key, value) {
|
|
225
|
-
return apply(metadata(key, value), prop());
|
|
226
|
-
}
|
|
227
|
-
/**
|
|
228
|
-
* @description Creates a method metadata decorator.
|
|
229
|
-
* @summary Convenience factory that combines `metadata(key, value)` and `method()` to both set an arbitrary metadata key and record the method's design return and param types.
|
|
230
|
-
* @param {string} key Metadata key to set for the property.
|
|
231
|
-
* @param {any} value Metadata value to associate with the key.
|
|
232
|
-
* @return {MethodDecorator} Decorator that sets the metadata and captures the method's signature metadata.
|
|
233
|
-
* @function methodMetadata
|
|
234
|
-
* @category Method Decorators
|
|
235
|
-
*/
|
|
236
|
-
function methodMetadata(key, value) {
|
|
237
|
-
return apply(metadata(key, value), method());
|
|
238
|
-
}
|
|
239
47
|
/**
|
|
240
48
|
* @description Attaches a human-readable description to a class or member.
|
|
241
49
|
* @summary Decorator factory that stores a textual description in the metadata store under the appropriate description key for a class or its property.
|
|
@@ -247,7 +55,7 @@ function methodMetadata(key, value) {
|
|
|
247
55
|
function description(desc) {
|
|
248
56
|
function innerDescription(desc) {
|
|
249
57
|
return function innerDescription(original, prop, descriptor) {
|
|
250
|
-
return metadata(Metadata_1.Metadata.key(constants_1.DecorationKeys.DESCRIPTION, prop ? prop.toString() : constants_1.DecorationKeys.CLASS), desc)(original, prop, descriptor);
|
|
58
|
+
return (0, core_1.metadata)(Metadata_1.Metadata.key(constants_1.DecorationKeys.DESCRIPTION, prop ? prop.toString() : constants_1.DecorationKeys.CLASS), desc)(original, prop, descriptor);
|
|
251
59
|
};
|
|
252
60
|
}
|
|
253
61
|
return Decoration_1.Decoration.for(constants_1.DecorationKeys.DESCRIPTION)
|
package/lib/decorators.d.ts
CHANGED
|
@@ -1,111 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
* @description Assigns arbitrary metadata to a target using a string key.
|
|
3
|
-
* @summary Decorator factory that stores a key/value pair in the central metadata store for the provided class or member.
|
|
4
|
-
* @param {string} key Metadata key to associate with the target.
|
|
5
|
-
* @param {any} value Metadata value to store under the given key.
|
|
6
|
-
* @return {ClassDecorator|MethodDecorator|PropertyDecorator|ParameterDecorator} Decorator that writes the metadata when applied.
|
|
7
|
-
* @function metadata
|
|
8
|
-
* @category Decorators
|
|
9
|
-
*/
|
|
10
|
-
export declare function metadata(key: string, value: any): (model: any, prop?: any, descriptor?: PropertyDescriptor | number) => void;
|
|
11
|
-
export declare function metadataArray(key: string, ...data: any[]): (target: any, propertyKey?: any, descriptor?: any) => void;
|
|
1
|
+
export { metadata, metadataArray, param, paramMetadata, prop, method, apply, propMetadata, methodMetadata, } from "./shared/core";
|
|
12
2
|
export declare function uses(flavour: string): (object: any) => any;
|
|
13
|
-
/**
|
|
14
|
-
* @description Captures and stores a property's design type.
|
|
15
|
-
* @summary Decorator factory that reads the reflected `design:type` for a property and registers it in the metadata store under the properties map.
|
|
16
|
-
* @return {PropertyDecorator} Decorator that records the property's type metadata when applied.
|
|
17
|
-
* @function prop
|
|
18
|
-
* @category Property Decorators
|
|
19
|
-
*/
|
|
20
|
-
export declare function prop(): (model: object, prop?: any) => void;
|
|
21
|
-
/**
|
|
22
|
-
* @description Captures a single parameter type for the decorated method.
|
|
23
|
-
* @summary Decorator factory that ensures the method metadata is initialised and stores the reflected parameter constructor at the provided index.
|
|
24
|
-
* @return {ParameterDecorator} Decorator that records the parameter type when applied.
|
|
25
|
-
* @function param
|
|
26
|
-
* @category Parameter Decorators
|
|
27
|
-
* @mermaid
|
|
28
|
-
* sequenceDiagram
|
|
29
|
-
* participant U as User Code
|
|
30
|
-
* participant P as param()
|
|
31
|
-
* participant M as Metadata
|
|
32
|
-
* U->>P: param()(target, key, index)
|
|
33
|
-
* P->>U: method()(target, key, descriptor)
|
|
34
|
-
* P->>M: params(constructor, key)
|
|
35
|
-
* M-->>P: parameter constructors[]
|
|
36
|
-
* P->>M: set(methods.key.index, constructor)
|
|
37
|
-
* P-->>U: parameter recorded
|
|
38
|
-
*/
|
|
39
|
-
export declare function param(): (model: object, prop?: any, index?: number) => void;
|
|
40
|
-
/**
|
|
41
|
-
* @description Extends a parameter decorator with additional metadata.
|
|
42
|
-
* @summary Applies the default `param()` decorator and augments the stored metadata with an arbitrary key/value pair.
|
|
43
|
-
* @param {string} key Metadata key to associate with the parameter.
|
|
44
|
-
* @param {any} value Metadata value persisted under the given key.
|
|
45
|
-
* @return {ParameterDecorator} Decorator that records both the parameter design type and additional metadata.
|
|
46
|
-
* @function paramMetadata
|
|
47
|
-
* @category Parameter Decorators
|
|
48
|
-
*/
|
|
49
|
-
export declare function paramMetadata(key: string, value: any): (target: any, prop: any, index: number) => void;
|
|
50
|
-
/**
|
|
51
|
-
* @description Records method design-time metadata.
|
|
52
|
-
* @summary Decorator factory that captures a method's reflected parameter and return types, storing them under the appropriate metadata keys so they can be inspected at runtime.
|
|
53
|
-
* @return {MethodDecorator} Decorator that persists the method's signature information into the metadata store when applied.
|
|
54
|
-
* @function method
|
|
55
|
-
* @mermaid
|
|
56
|
-
* sequenceDiagram
|
|
57
|
-
* participant U as User Code
|
|
58
|
-
* participant F as method()
|
|
59
|
-
* participant M as Metadata
|
|
60
|
-
* U->>F: method()(target, key, descriptor)
|
|
61
|
-
* F->>U: Reflect.getOwnMetadata(design:paramtypes)
|
|
62
|
-
* F->>U: Reflect.getOwnMetadata(design:returntype)
|
|
63
|
-
* F->>M: set(methods.key.design:paramtypes, params)
|
|
64
|
-
* F->>M: set(methods.key.design:returntype, returnType)
|
|
65
|
-
* F-->>U: decorated function
|
|
66
|
-
* @category Method Decorators
|
|
67
|
-
*/
|
|
68
|
-
export declare function method(): (obj: any, prop?: any, descriptor?: any) => void;
|
|
69
|
-
/**
|
|
70
|
-
* @description Decorator factory that applies multiple decorators to a single target.
|
|
71
|
-
* @summary Creates a composite decorator that applies multiple decorators in sequence, correctly handling class, method, property, and parameter decorators.
|
|
72
|
-
* @param {Array<ClassDecorator|MethodDecorator|PropertyDecorator|ParameterDecorator>} decorators Collection of decorators to apply.
|
|
73
|
-
* @return {ClassDecorator|MethodDecorator|PropertyDecorator|ParameterDecorator} Decorator function that applies all provided decorators to the target.
|
|
74
|
-
* @function apply
|
|
75
|
-
* @mermaid
|
|
76
|
-
* sequenceDiagram
|
|
77
|
-
* participant U as User Code
|
|
78
|
-
* participant A as apply(...decorators)
|
|
79
|
-
* participant D as Decorator
|
|
80
|
-
* U->>A: get decorator(...decorators)
|
|
81
|
-
* A->>U: returns (target, key?, desc?) => void
|
|
82
|
-
* U->>A: invoke on target
|
|
83
|
-
* loop for each decorator
|
|
84
|
-
* A->>D: invoke appropriate decorator type
|
|
85
|
-
* end
|
|
86
|
-
* @category Decorators
|
|
87
|
-
*/
|
|
88
|
-
export declare function apply(...decorators: Array<ClassDecorator | MethodDecorator | PropertyDecorator | ParameterDecorator>): (target: object, propertyKey?: string | symbol | unknown, descriptor?: PropertyDescriptor | number) => void;
|
|
89
|
-
/**
|
|
90
|
-
* @description Creates a property metadata decorator.
|
|
91
|
-
* @summary Convenience factory that combines `metadata(key, value)` and `prop()` to both set an arbitrary metadata key and record the property's design type.
|
|
92
|
-
* @param {string} key Metadata key to set for the property.
|
|
93
|
-
* @param {any} value Metadata value to associate with the key.
|
|
94
|
-
* @return {PropertyDecorator} Decorator that sets the metadata and captures the property's type.
|
|
95
|
-
* @function propMetadata
|
|
96
|
-
* @category Property Decorators
|
|
97
|
-
*/
|
|
98
|
-
export declare function propMetadata(key: string, value: any): (target: object, propertyKey?: string | symbol | unknown, descriptor?: PropertyDescriptor | number) => void;
|
|
99
|
-
/**
|
|
100
|
-
* @description Creates a method metadata decorator.
|
|
101
|
-
* @summary Convenience factory that combines `metadata(key, value)` and `method()` to both set an arbitrary metadata key and record the method's design return and param types.
|
|
102
|
-
* @param {string} key Metadata key to set for the property.
|
|
103
|
-
* @param {any} value Metadata value to associate with the key.
|
|
104
|
-
* @return {MethodDecorator} Decorator that sets the metadata and captures the method's signature metadata.
|
|
105
|
-
* @function methodMetadata
|
|
106
|
-
* @category Method Decorators
|
|
107
|
-
*/
|
|
108
|
-
export declare function methodMetadata(key: string, value: any): (target: object, propertyKey?: string | symbol | unknown, descriptor?: PropertyDescriptor | number) => void;
|
|
109
3
|
/**
|
|
110
4
|
* @description Attaches a human-readable description to a class or member.
|
|
111
5
|
* @summary Decorator factory that stores a textual description in the metadata store under the appropriate description key for a class or its property.
|
package/lib/decorators.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../src/decorators.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../src/decorators.ts"],"names":[],"mappings":";;;AAkBA,oBAuBC;AAUD,kCAuBC;AA1ED,4DAAqD;AACrD,+CAA6C;AAC7C,sDAA+C;AAC/C,sEAA6D;AAC7D,4CAAyC;AAEzC,0CAUuB;AATrB,gGAAA,QAAQ,OAAA;AACR,qGAAA,aAAa,OAAA;AACb,6FAAA,KAAK,OAAA;AACL,qGAAA,aAAa,OAAA;AACb,4FAAA,IAAI,OAAA;AACJ,8FAAA,MAAM,OAAA;AACN,6FAAA,KAAK,OAAA;AACL,oGAAA,YAAY,OAAA;AACZ,sGAAA,cAAc,OAAA;AAGhB,SAAgB,IAAI,CAAC,OAAe;IAClC,OAAO,CAAC,MAAW,EAAE,EAAE;QACrB,MAAM,MAAM,GAAG,IAAA,+BAAa,EAAC,MAAM,EAAE,OAAO,EAAE,uBAAU,CAAC,cAAc,CAAC,CAAC;QAEzE,IAAI,OAAO,KAAK,uBAAU,CAAC,cAAc,EAAE,CAAC;YAC1C,uBAAU,CAAC,0BAA0B,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC1D,CAAC;aAAM,CAAC;YACN,IAAI,QAA4B,CAAC;YACjC,IAAI,CAAC;gBACH,QAAQ,GAAG,uBAAU,CAAC,iBAAiB,CAAC;oBACtC,CAAC,CAAC,uBAAU,CAAC,iBAAiB,CAAC,CAAC,MAAM,CAAC;oBACvC,CAAC,CAAC,SAAS,CAAC;YAChB,CAAC;YAAC,MAAM,CAAC;gBACP,QAAQ,GAAG,SAAS,CAAC;YACvB,CAAC;YACD,IAAI,QAAQ,IAAI,QAAQ,KAAK,uBAAU,CAAC,cAAc,EAAE,CAAC;gBACvD,uBAAU,CAAC,0BAA0B,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAC3D,CAAC;iBAAM,CAAC;gBACN,uBAAU,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;YACpC,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,WAAW,CAAC,IAAY;IACtC,SAAS,gBAAgB,CAAC,IAAY;QACpC,OAAO,SAAS,gBAAgB,CAC9B,QAAa,EACb,IAAU,EACV,UAAgB;YAEhB,OAAO,IAAA,eAAQ,EACb,mBAAQ,CAAC,GAAG,CACV,0BAAc,CAAC,WAAW,EAC1B,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,0BAAc,CAAC,KAAK,CAC9C,EACD,IAAI,CACL,CAAC,QAAQ,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;QAChC,CAAC,CAAC;IACJ,CAAC;IAED,OAAO,uBAAU,CAAC,GAAG,CAAC,0BAAc,CAAC,WAAW,CAAC;SAC9C,MAAM,CAAC;QACN,SAAS,EAAE,gBAAgB;QAC3B,IAAI,EAAE,CAAC,IAAI,CAAC;KACb,CAAC;SACD,KAAK,EAAE,CAAC;AACb,CAAC"}
|
|
@@ -113,6 +113,7 @@ export declare class Decoration implements IDecorationBuilder {
|
|
|
113
113
|
private static getTargetState;
|
|
114
114
|
private static applyPendingEntry;
|
|
115
115
|
protected static markPending(owner: any): void;
|
|
116
|
+
private static ensureDefaultFlavour;
|
|
116
117
|
private static scheduleDefaultResolve;
|
|
117
118
|
protected static registerPendingDecorator(owner: any, target: any, callback: (flavour: string, overrides?: Record<number, any[]>) => PropertyDecorator | MethodDecorator, propertyKey?: string | symbol, descriptor?: TypedPropertyDescriptor<any> | number, argsOverride?: Record<number, any[]>, definitionKey?: string): string;
|
|
118
119
|
protected static resolvePendingDecorators(target: any, flavour?: string): void;
|