@alterior/di 3.15.0 → 3.16.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.
Files changed (41) hide show
  1. package/dist/injection/facade/errors.d.ts +1 -1
  2. package/dist/injection/facade/errors.d.ts.map +1 -1
  3. package/dist/injection/facade/errors.js +1 -1
  4. package/dist/injection/facade/errors.js.map +1 -1
  5. package/dist/injection/injector.js.map +1 -1
  6. package/dist/injection/metadata/annotations.d.ts.map +1 -1
  7. package/dist/injection/metadata/annotations.js.map +1 -1
  8. package/dist/injection/reflection/reflection_capabilities.d.ts.map +1 -1
  9. package/dist/injection/reflection/reflection_capabilities.js.map +1 -1
  10. package/dist/injection/reflective_injector.d.ts.map +1 -1
  11. package/dist/injection/reflective_injector.js +2 -3
  12. package/dist/injection/reflective_injector.js.map +1 -1
  13. package/dist/injection/reflective_injector.test.js.map +1 -1
  14. package/dist/modules.d.ts +2 -2
  15. package/dist/modules.d.ts.map +1 -1
  16. package/dist/modules.js +1 -1
  17. package/dist/modules.js.map +1 -1
  18. package/dist.esm/injection/facade/errors.d.ts +1 -1
  19. package/dist.esm/injection/facade/errors.d.ts.map +1 -1
  20. package/dist.esm/injection/facade/errors.js +1 -1
  21. package/dist.esm/injection/facade/errors.js.map +1 -1
  22. package/dist.esm/injection/injector.js.map +1 -1
  23. package/dist.esm/injection/metadata/annotations.d.ts.map +1 -1
  24. package/dist.esm/injection/metadata/annotations.js.map +1 -1
  25. package/dist.esm/injection/reflection/reflection_capabilities.d.ts.map +1 -1
  26. package/dist.esm/injection/reflection/reflection_capabilities.js.map +1 -1
  27. package/dist.esm/injection/reflective_injector.d.ts.map +1 -1
  28. package/dist.esm/injection/reflective_injector.js +2 -3
  29. package/dist.esm/injection/reflective_injector.js.map +1 -1
  30. package/dist.esm/injection/reflective_injector.test.js.map +1 -1
  31. package/dist.esm/modules.d.ts +2 -2
  32. package/dist.esm/modules.d.ts.map +1 -1
  33. package/dist.esm/modules.js +1 -1
  34. package/dist.esm/modules.js.map +1 -1
  35. package/package.json +3 -3
  36. package/src/injection/facade/errors.ts +1 -1
  37. package/src/injection/injector.ts +1 -1
  38. package/src/injection/metadata/annotations.ts +2 -2
  39. package/src/injection/reflection/reflection_capabilities.ts +162 -162
  40. package/src/injection/reflective_injector.ts +430 -431
  41. package/src/modules.ts +5 -5
@@ -1 +1 @@
1
- {"version":3,"file":"reflective_injector.test.js","sourceRoot":"","sources":["../../src/injection/reflective_injector.test.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;;AAEH,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAC9B,OAAO,EACL,MAAM,EACN,UAAU,EACV,cAAc,EACd,QAAQ,EACR,QAAQ,EAER,kBAAkB,EAClB,aAAa,EAEb,UAAU,GACX,MAAM,GAAG,CAAC;AACX,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEnD,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAEvC,MAAM,MAAM;CAAG;AAEf,MAAM,YAAY;IAChB;QACE,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;IACnC,CAAC;CACF;AAED,MAAM,iBAAiB;CAAG;AAE1B,IACM,SAAS,GADf,MACM,SAAS;IACb,YAAY,QAA2B,IAAG,CAAC;CAC5C,CAAA;AAFK,SAAS;IADd,UAAU,EAAE;qCAEW,iBAAiB;GADnC,SAAS,CAEd;AAED,MAAM,WAAY,SAAQ,MAAM;CAAG;AAEnC,IACM,GAAG,GADT,MACM,GAAG;IACP,YAAmB,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;IAAG,CAAC;CACtC,CAAA;AAFK,GAAG;IADR,UAAU,EAAE;qCAEgB,MAAM;GAD7B,GAAG,CAER;AAED,IACM,qBAAqB,GAD3B,MACM,qBAAqB;IACzB,YAA+B,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;IAAG,CAAC;CAClD,CAAA;AAFK,qBAAqB;IAD1B,UAAU,EAAE;IAEE,WAAA,QAAQ,EAAE,CAAA;qCAAgB,MAAM;GADzC,qBAAqB,CAE1B;AAED,IACM,gBAAgB,GADtB,MACM,gBAAgB;IAGpB,YAAY,MAAc,EAAE,SAAoB;QAC9C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;CACF,CAAA;AAPK,gBAAgB;IADrB,UAAU,EAAE;qCAIS,MAAM,EAAa,SAAS;GAH5C,gBAAgB,CAOrB;AAGD,IAAM,SAAS,GAAf,MAAM,SAAU,SAAQ,GAAG;CAAG,CAAA;AAAxB,SAAS;IADd,UAAU,EAAE;GACP,SAAS,CAAe;AAE9B,IACM,aAAa,GADnB,MACM,aAAa;IACjB,YAAwC,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;IAAG,CAAC;CAC3D,CAAA;AAFK,aAAa;IADlB,UAAU,EAAE;IAEE,WAAA,MAAM,CAAC,WAAW,CAAC,CAAA;qCAAgB,MAAM;GADlD,aAAa,CAElB;AAED,IACM,YAAY,GADlB,MACM,YAAY;IAChB,YAAY,GAAQ,IAAG,CAAC;CACzB,CAAA;AAFK,YAAY;IADjB,UAAU,EAAE;qCAEM,GAAG;GADhB,YAAY,CAEjB;AAED,6BAA6B;AAE7B,MAAM,OAAO;CAAG;AAChB,MAAM,YAAa,SAAQ,MAAM;CAAG;AAGpC,IAAM,UAAU,GAAhB,MAAM,UAAW,SAAQ,GAAG;CAAG,CAAA;AAAzB,UAAU;IADf,UAAU,EAAE;GACP,UAAU,CAAe;AAG/B,IAAM,cAAc,GAApB,MAAM,cAAc;IAApB;QACE,WAAM,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;IAChC,CAAC;CAAA,CAAA;AAFK,cAAc;IADnB,UAAU,EAAE;GACP,cAAc,CAEnB;AAGD,IAAM,aAAa,GAAnB,MAAM,aAAa;IAAnB;QACE,QAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IACpB,CAAC;CAAA,CAAA;AAFK,aAAa;IADlB,UAAU,EAAE;GACP,aAAa,CAElB;AAED,6BAA6B;AAE7B,MAAM,aAAa;IACjB,YAAY,gBAAqB,IAAG,CAAC;CACtC;AAED,SAAS,SAAS,CAAC,CAAM,IAAG,CAAC;AAE7B,MAAM,gBAAgB,GAAG;IACvB,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,EAAE;IACrC,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,EAAE;IACrC,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,EAAE;IACrC,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,EAAE;IACrC,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,EAAE;IACrC,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,EAAE;IACrC,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,EAAE;IACrC,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,EAAE;IACrC,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,EAAE;IACrC,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,EAAE;IACrC,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC,EAAE;CACvC,CAAC;AAEF,SAAS,cAAc,CAAC,SAAqB,EAAE,SAAoC,IAAI;IACrF,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC;IACzF,IAAI,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;QACtB,OAAO,MAAM,CAAC,uBAAuB,CAAC,iBAAiB,CAAwB,CAAC;IAClF,CAAC;SAAM,CAAC;QACN,OAAO,kBAAkB,CAAC,qBAAqB,CAAC,iBAAiB,CAAwB,CAAC;IAC5F,CAAC;AACH,CAAC;AAED,KAAK,CAAC,QAAQ,CAAC,EAAE;IACf,QAAQ,CAAC,UAAU,EAAE,EAAE,CAAC,EAAE;QACxB,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;YACzD,MAAM,QAAQ,GAAG,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;YAC1C,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAEpC,MAAM,CAAC,MAAM,YAAY,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,IAAI,CAAC,wDAAwD,EAAE,GAAG,EAAE;YACrE,MAAM,UAAU;gBAAhB;oBACW,QAAG,GAAG,GAAG,CAAC;gBACrB,CAAC;aAAA;YAED,MAAM,MAAM;gBACV;gBACA,CAAC;aAIF;YADC;gBADC,MAAM,EAAE;0CACH,UAAU;+CAAC;YAGnB,MAAM,QAAQ,GAAG,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;YAC1C,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAEpC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;YAC/D,MAAM,QAAQ,GAAG,cAAc,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;YAC/C,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAE9B,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YAClC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;YACjE,MAAM,QAAQ,GAAG,cAAc,CAAC,CAAC,WAAW,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC;YACtE,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;YAExC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;YAC5C,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;YAChD,MAAM,QAAQ,GAAG,cAAc,CAAC,CAAC,YAAY,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC;YACzE,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YAEzC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;YAC7C,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mEAAmE,EAAE,GAAG,EAAE;YAC3E,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;QAClD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;YAChE,MAAM,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CACpD,wDAAwD;gBACtD,6FAA6F;gBAC7F,wDAAwD,CAC3D,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0DAA0D,EAAE,GAAG,EAAE;YAClE,MAAM,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CACtF,oDAAoD;gBAClD,6FAA6F;gBAC7F,oDAAoD,CACvD,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wBAAwB,EAAE,GAAG,EAAE;YAChC,MAAM,QAAQ,GAAG,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;YAE1C,MAAM,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAChC,MAAM,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAEhC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;YACnC,MAAM,QAAQ,GAAG,cAAc,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC;YAEhF,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACpC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;YAC/D,MAAM,KAAK,GAAG,IAAI,cAAc,CAAS,OAAO,CAAC,CAAC;YAElD,MAAM,QAAQ,GAAG,cAAc,CAAC;gBAC9B,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE;gBACxC,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE;aACnE,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACpC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;YACrC,SAAS,gBAAgB,CAAC,CAAM;gBAC9B,OAAO,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC;YAC1B,CAAC;YAED,MAAM,QAAQ,GAAG,cAAc,CAAC,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;YAE1G,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC9B,MAAM,CAAC,GAAG,YAAY,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;YAC1C,MAAM,CAAC,GAAG,CAAC,MAAM,YAAY,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QAChD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;YAC5C,MAAM,QAAQ,GAAG,cAAc,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YACvE,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACpC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QAC5B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;YACpC,MAAM,QAAQ,GAAG,cAAc,CAAC,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;YAEjI,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC9B,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC1C,MAAM,CAAC,GAAG,YAAY,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;YAC1C,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;YACvC,MAAM,QAAQ,GAAG,cAAc,CAAC;gBAC9B,MAAM;gBACN,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE;gBAClD,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,qBAAqB,EAAE,KAAK,EAAE,IAAI,EAAE;aAC/D,CAAC,CAAC;YAEH,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC/B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAChC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;YAC9C,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,qBAAqB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QAC5D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kEAAkE,EAAE,GAAG,EAAE;YAC1E,MAAM,QAAQ,GAAG,cAAc,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAE5G,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC/B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAChC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;YAC/D,MAAM,QAAQ,GAAG,cAAc,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;YAC9E,MAAM,CAAC,GAAG,mBAAmB,SAAS,CAAC,SAAS,CAAC,aAAa,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC;YACtF,MAAM,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;YACjD,MAAM,QAAQ,GAAG,cAAc,CAAC;gBAC9B,EAAE,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,EAAE;gBACjE,EAAE,OAAO,EAAE,eAAe,EAAE,WAAW,EAAO,UAAU,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,EAAE;aACnF,CAAC,CAAC;YACH,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,YAAY,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACnE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;YACxD,MAAM,QAAQ,GAAG,cAAc,CAAC,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;YAEzH,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC9B,MAAM,CAAC,GAAG,YAAY,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;YAC1C,MAAM,CAAC,GAAG,CAAC,MAAM,YAAY,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QAChD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;YAC9C,MAAM,QAAQ,GAAG,cAAc,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC;YAEzD,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;YAChD,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;YAC5C,MAAM,QAAQ,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAEnD,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC9B,MAAM,CAAC,GAAG,YAAY,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+EAA+E,EAAE,GAAG,EAAE;YACvF,MAAM,QAAQ,GAAG,cAAc,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;YAErH,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QAC/D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;YACpC,MAAM,QAAQ,GAAG,cAAc,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;YAE3E,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;YACnD,MAAM,CAAC,GAAG,EAAE,CAAC,cAAc,CAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAClD,+EAA+E,CAChF,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uBAAuB,EAAE,GAAG,EAAE;YAC/B,MAAM,MAAM,GAAG,cAAc,CAAC,EAAE,CAAC,CAAC;YAClC,MAAM,KAAK,GAAG,MAAM,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC;YAE/C,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;YAC/C,MAAM,QAAQ,GAAG,cAAc,CAAC,EAAE,CAAC,CAAC;YACpC,MAAM,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;QACrF,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;YACpD,MAAM,QAAQ,GAAG,cAAc,CAAC,CAAC,gBAAgB,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;YACvE,MAAM,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CACnD,uCAAuC,SAAS,CAAC,gBAAgB,CAAC,OAAO,SAAS,CAAC,SAAS,CAAC,wBAAwB,CACtH,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6DAA6D,EAAE,GAAG,EAAE;YACrE,MAAM,QAAQ,GAAG,cAAc,CAAC,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC;YAEpF,MAAM,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CACtC,0CAA0C,SAAS,CAAC,GAAG,CAAC,OAAO,SAAS,CAAC,MAAM,CAAC,OAAO,SAAS,CAAC,GAAG,CAAC,GAAG,CACzG,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+DAA+D,EAAE,GAAG,EAAE;YACvE,MAAM,SAAS,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC;YACjG,MAAM,QAAQ,GAAG,IAAI,mBAAmB,CAAC,SAAS,CAAC,CAAC;YAEpD,IAAI,CAAC;gBACH,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAClB,MAAM,YAAY,CAAC;YACrB,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,0CAA0C,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;gBACpG,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;gBACtD,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;YAC7D,IAAI,QAAQ,GAAG,IAAI,CAAC;YAEpB,MAAM,QAAQ,GAAG,cAAc,CAAC,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,YAAY,EAAE,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAE9H,MAAM,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,uEAAuE,CAAC,CAAC;YAElH,QAAQ,GAAG,KAAK,CAAC;YAEjB,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,YAAY,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACpD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;YACpC,MAAM,QAAQ,GAAG,cAAc,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YACvE,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE;QACrB,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;YACpD,MAAM,MAAM,GAAG,kBAAkB,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;YAC7D,MAAM,KAAK,GAAG,MAAM,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC;YAE/C,MAAM,gBAAgB,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC5C,MAAM,eAAe,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAE1C,MAAM,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yFAAyF,EAAE,GAAG,EAAE;YACjG,MAAM,MAAM,GAAG,kBAAkB,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;YAClE,MAAM,KAAK,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;YAEzF,MAAM,YAAY,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACpC,MAAM,CAAC,YAAY,CAAC,MAAM,YAAY,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACzD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;YACxD,MAAM,MAAM,GAAG,kBAAkB,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;YAC7D,MAAM,KAAK,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;YAEzF,MAAM,gBAAgB,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC5C,MAAM,eAAe,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAE1C,MAAM,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC;YACpD,MAAM,CAAC,eAAe,YAAY,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QAC1D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;YACtC,MAAM,MAAM,GAAG,kBAAkB,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;YACvD,MAAM,KAAK,GAAG,MAAM,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC;YAC/C,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,uBAAuB,EAAE,EAAE,CAAC,EAAE;QACrC,EAAE,CAAC,6DAA6D,EAAE,GAAG,EAAE;YACrE,MAAM,GAAG,GAAG,kBAAkB,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;YAC1D,MAAM,GAAG,GAAG,GAAG,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;YAC3C,MAAM,CAAC,GAAG,YAAY,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;YACpC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0DAA0D,EAAE,GAAG,EAAE;YAClE,MAAM,GAAG,GAAG,kBAAkB,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;YAC1D,GAAG,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;YAC/B,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;QACxC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,aAAa,EAAE,EAAE,CAAC,EAAE;QAC3B,EAAE,CAAC,6DAA6D,EAAE,GAAG,EAAE;YACrE,MAAM,GAAG,GAAG,kBAAkB,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;YAC1D,MAAM,GAAG,GAAG,GAAG,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1E,MAAM,CAAC,GAAG,YAAY,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;YACpC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,sBAAsB,EAAE,EAAE,CAAC,EAAE;QACpC,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;YACvB,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;gBAC9C,MAAM,GAAG,GAAG,kBAAkB,CAAC,gBAAgB,CAAC;oBAC9C,MAAM;oBACN,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,IAAI,cAAc,EAAE,CAAC,CAAC,EAAE;iBAChG,CAAC,CAAC;gBAEH,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,YAAY,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;YAC/C,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;gBAC1D,MAAM,MAAM,GAAG,kBAAkB,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC7D,MAAM,KAAK,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,IAAI,cAAc,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBAE9I,MAAM,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,4BAA4B,SAAS,CAAC,GAAG,CAAC,OAAO,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC/G,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;YACvB,EAAE,CAAC,sBAAsB,EAAE,GAAG,EAAE;gBAC9B,MAAM,MAAM,GAAG,kBAAkB,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC7D,MAAM,KAAK,GAAG,MAAM,CAAC,qBAAqB,CAAC;oBACzC,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE;oBAC1C,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE;iBACxE,CAAC,CAAC;gBAEH,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,YAAY,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;YAChE,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC,EAAE;QACvB,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;YACpC,MAAM,SAAS,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACvE,SAAS,CAAC,OAAO,CAAC,UAAS,CAAC;gBAC1B,IAAI,CAAC,CAAC;oBAAE,OAAO,CAAC,+BAA+B;gBAC/C,MAAM,CAAC,CAAC,YAAY,2BAA2B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;YAC/D,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;YACxC,MAAM,QAAQ,GAAG,kBAAkB,CAAC,OAAO,CAAC;gBAC1C,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE;gBACxD,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE;aACxD,CAAC,CAAC,CAAC,CAAC,CAAC;YAEN,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;YACzC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC9C,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;YAC1C,MAAM,QAAQ,GAAG,kBAAkB,CAAC,OAAO,CAAC;gBAC1C,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE;gBACxD,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE;aACxD,CAAC,CAAC,CAAC,CAAC,CAAC;YAEN,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;YACzC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC9C,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;YAC/D,MAAM,QAAQ,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAE3G,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;YACzC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC9C,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iEAAiE,EAAE,GAAG,EAAE;YACzE,MAAM,CAAC,GAAG,EAAE;gBACV,kBAAkB,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;YACjG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC;YAEhE,MAAM,CAAC,GAAG,EAAE;gBACV,kBAAkB,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YACjG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;YAC3C,MAAM,SAAS,GAAG,kBAAkB,CAAC,OAAO,CAAC;gBAC3C,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC;gBACxB,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,EAAE,QAAQ,EAAE,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;gBACjF;oBACE,OAAO,EAAE,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC;oBACjC,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI;oBACtB,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC;iBACjC;aACF,CAAC,CAAC;YAEH,MAAM,cAAc,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YACpC,MAAM,oBAAoB,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YAC1C,MAAM,cAAc,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YAEpC,MAAM,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,YAAY,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;YACpF,MAAM,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,YAAY,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;YAC1F,MAAM,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;QACtG,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4EAA4E,EAAE,GAAG,EAAE;YACpF,MAAM,SAAS,GAAG,kBAAkB,CAAC,OAAO,CAAC;gBAC3C;oBACE,OAAO,EAAE,OAAO;oBAChB,UAAU,EAAE,CAAC,CAAM,CAAC,iBAAiB,EAAE,EAAE,CAAC,QAAQ;oBAClD,IAAI,EAAE,CAAC,CAAC,IAAI,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC;iBACtC;aACF,CAAC,CAAC;YAEH,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YAE9B,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAClF,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;YAC9D,MAAM,QAAQ,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,IAAI,gBAAgB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACpI,MAAM,cAAc,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC5I,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CACzE,cAAc,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CACjE,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,aAAa,EAAE,EAAE,CAAC,EAAE;QAC3B,EAAE,CAAC,aAAa,EAAE,GAAG,EAAE;YACrB,MAAM,CAAuB,kBAAkB,CAAC,gBAAgB,CAAC,CAAC,MAAM,EAAE,YAAY,CAAC,CAAE,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,KAAK,CAC7G,+DAA+D,CAChE,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"reflective_injector.test.js","sourceRoot":"","sources":["../../src/injection/reflective_injector.test.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@ export interface ConfiguredModule extends ModuleOptions {
7
7
  $module: ModuleLike;
8
8
  ngModule?: ModuleLike;
9
9
  }
10
- export declare function configureModule(module: any, providers: Provider[]): ConfiguredModule;
10
+ export declare function configureModule(module: ModuleLike, providers: Provider[]): ConfiguredModule;
11
11
  export type ModuleLike = Function | ConfiguredModule;
12
12
  export interface ModuleOptions {
13
13
  tasks?: any[];
@@ -33,5 +33,5 @@ export declare class ModuleAnnotation extends Annotation implements ModuleOption
33
33
  /**
34
34
  * Annotation that denotes an Alterior module class.
35
35
  */
36
- export declare const Module: (moduleOptions?: ModuleOptions) => ClassDecorator & ParameterDecorator & PropertyDecorator & MethodDecorator;
36
+ export declare const Module: (moduleOptions?: ModuleOptions | undefined) => ClassDecorator & ParameterDecorator & PropertyDecorator & MethodDecorator;
37
37
  //# sourceMappingURL=modules.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"modules.d.ts","sourceRoot":"","sources":["../src/modules.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEF,OAAO,EAAgB,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,MAAM,WAAW,gBAAiB,SAAQ,aAAa;IACnD,OAAO,EAAE,UAAU,CAAC;IACpB,QAAQ,CAAC,EAAG,UAAU,CAAC;CAC1B;AAED,wBAAgB,eAAe,CAAC,MAAM,KAAA,EAAE,SAAS,EAAG,QAAQ,EAAE,GAAG,gBAAgB,CAMhF;AAED,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,gBAAgB,CAAC;AAErD,MAAM,WAAW,aAAa;IAC1B,KAAK,CAAC,EAAG,GAAG,EAAE,CAAC;IACf,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC;IACvB,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;CAC1B;AAED,qBACa,gBAAiB,SAAQ,UAAW,YAAW,aAAa;gBACzD,aAAa,CAAC,EAAG,aAAa;IAI1C;;;OAGG;IACH,KAAK,EAAG,GAAG,EAAE,CAAC;IAEd;;OAEG;IACH,OAAO,EAAE,UAAU,EAAE,CAAC;IAEtB;;OAEG;IACH,SAAS,EAAE,QAAQ,EAAE,CAAC;CACzB;AAED;;GAEG;AACH,eAAO,MAAM,MAAM,8GAA+B,CAAC"}
1
+ {"version":3,"file":"modules.d.ts","sourceRoot":"","sources":["../src/modules.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEF,OAAO,EAAgB,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,MAAM,WAAW,gBAAiB,SAAQ,aAAa;IACnD,OAAO,EAAE,UAAU,CAAC;IACpB,QAAQ,CAAC,EAAG,UAAU,CAAC;CAC1B;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,EAAG,QAAQ,EAAE,GAAG,gBAAgB,CAM5F;AAED,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,gBAAgB,CAAC;AAErD,MAAM,WAAW,aAAa;IAC1B,KAAK,CAAC,EAAG,GAAG,EAAE,CAAC;IACf,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC;IACvB,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;CAC1B;AAED,qBACa,gBAAiB,SAAQ,UAAW,YAAW,aAAa;gBACzD,aAAa,CAAC,EAAG,aAAa;IAI1C;;;OAGG;IACH,KAAK,EAAI,GAAG,EAAE,CAAC;IAEf;;OAEG;IACH,OAAO,EAAG,UAAU,EAAE,CAAC;IAEvB;;OAEG;IACH,SAAS,EAAG,QAAQ,EAAE,CAAC;CAC1B;AAED;;GAEG;AACH,eAAO,MAAM,MAAM,0HAA+B,CAAC"}
@@ -12,7 +12,7 @@ export function configureModule(module, providers) {
12
12
  }
13
13
  let ModuleAnnotation = class ModuleAnnotation extends Annotation {
14
14
  constructor(moduleOptions) {
15
- super(moduleOptions);
15
+ super(Object.assign({ tasks: [], imports: [], providers: [] }, moduleOptions));
16
16
  }
17
17
  };
18
18
  ModuleAnnotation = __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"modules.js","sourceRoot":"","sources":["../src/modules.ts"],"names":[],"mappings":"AAAA;;GAEG;;AAEF,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAQlE,MAAM,UAAU,eAAe,CAAC,MAAM,EAAE,SAAsB;IAC1D,OAAO;QACH,OAAO,EAAE,MAAM;QACf,QAAQ,EAAE,MAAM;QAChB,SAAS;KACZ,CAAC;AACN,CAAC;AAWM,IAAM,gBAAgB,GAAtB,MAAM,gBAAiB,SAAQ,UAAU;IAC5C,YAAY,aAA8B;QACtC,KAAK,CAAC,aAAa,CAAC,CAAC;IACzB,CAAC;CAiBJ,CAAA;AApBY,gBAAgB;IAD5B,YAAY,CAAC,qBAAqB,CAAC;;GACvB,gBAAgB,CAoB5B;;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,gBAAgB,CAAC,SAAS,EAAE,CAAC"}
1
+ {"version":3,"file":"modules.js","sourceRoot":"","sources":["../src/modules.ts"],"names":[],"mappings":"AAAA;;GAEG;;AAEF,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAQlE,MAAM,UAAU,eAAe,CAAC,MAAkB,EAAE,SAAsB;IACtE,OAAO;QACH,OAAO,EAAE,MAAM;QACf,QAAQ,EAAE,MAAM;QAChB,SAAS;KACZ,CAAC;AACN,CAAC;AAWM,IAAM,gBAAgB,GAAtB,MAAM,gBAAiB,SAAQ,UAAU;IAC5C,YAAY,aAA8B;QACtC,KAAK,iBAAG,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,IAAK,aAAa,EAAG,CAAC;IACvE,CAAC;CAiBJ,CAAA;AApBY,gBAAgB;IAD5B,YAAY,CAAC,qBAAqB,CAAC;;GACvB,gBAAgB,CAoB5B;;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,gBAAgB,CAAC,SAAS,EAAE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alterior/di",
3
- "version": "3.15.0",
3
+ "version": "3.16.0",
4
4
  "description": "Flexible reflection-based dependency injection",
5
5
  "author": "The Alterior Project (https://github.com/alterior-mvc)",
6
6
  "license": "MIT",
@@ -39,8 +39,8 @@
39
39
  "docs": "typedoc src/index.ts"
40
40
  },
41
41
  "dependencies": {
42
- "@alterior/annotations": "^3.15.0",
43
- "@alterior/common": "^3.15.0"
42
+ "@alterior/annotations": "^3.16.0",
43
+ "@alterior/common": "^3.16.0"
44
44
  },
45
45
  "peerDependencies": {
46
46
  "reflect-metadata": "^0.1.13"
@@ -10,7 +10,7 @@ import { DebugContext } from './lang';
10
10
  export const ERROR_TYPE = 'ngType';
11
11
  export const ERROR_COMPONENT_TYPE = 'ngComponentType';
12
12
  export const ERROR_DEBUG_CONTEXT = 'ngDebugContext';
13
- export const ERROR_ORIGINAL_ERROR = 'ngOriginalError';
13
+ export const ERROR_ORIGINAL_ERROR = 'cause';
14
14
  export const ERROR_LOGGER = 'ngErrorLogger';
15
15
 
16
16
  export function getType(error: Error): Function {
@@ -24,7 +24,7 @@ class _NullInjector implements Injector {
24
24
  }
25
25
  }
26
26
 
27
- let CURRENT_INJECTOR: Injector = null;
27
+ let CURRENT_INJECTOR: Injector | null = null;
28
28
 
29
29
  export interface InjectorGetOptions {
30
30
  /**
@@ -11,11 +11,11 @@ export class OptionalAnnotation extends Annotation {
11
11
 
12
12
  @MetadataName('@alterior/di:Inject')
13
13
  export class InjectAnnotation extends Annotation {
14
- constructor(token?) {
14
+ constructor(token?: any) {
15
15
  super({ token });
16
16
  }
17
17
 
18
- token : any;
18
+ token: any;
19
19
 
20
20
  toString() {
21
21
  return `@Inject(${this.token})`;
@@ -20,179 +20,179 @@ import { Annotation, Annotations } from '@alterior/annotations';
20
20
  export const DELEGATE_CTOR = /^function\s+\S+\(\)\s*{[\s\S]+\.apply\(this,\s*arguments\)/;
21
21
 
22
22
  export class ReflectionCapabilities implements PlatformReflectionCapabilities {
23
- private _reflect: any;
24
-
25
- constructor(reflect?: any) {
26
- this._reflect = reflect || global['Reflect'];
27
- }
28
-
29
- isReflectionEnabled(): boolean {
30
- return true;
31
- }
32
-
33
- factory<T>(t: ConcreteType<T>): (args: any[]) => T {
34
- return (...args: any[]) => new t(...args);
35
- }
36
-
37
- /** @internal */
38
- _zipTypesAndAnnotations(paramTypes: any[], paramAnnotations: any[]): any[][] {
39
- let result: any[][];
40
-
41
- if (typeof paramTypes === 'undefined') {
42
- result = new Array(paramAnnotations.length);
43
- } else {
44
- result = new Array(paramTypes.length);
45
- }
46
-
47
- for (let i = 0; i < result.length; i++) {
48
- // TS outputs Object for parameters without types, while Traceur omits
49
- // the annotations. For now we preserve the Traceur behavior to aid
50
- // migration, but this can be revisited.
51
- if (typeof paramTypes === 'undefined') {
52
- result[i] = [];
53
- // tslint:disable-next-line:triple-equals
54
- } else if (paramTypes[i] != Object) {
55
- result[i] = [paramTypes[i]];
56
- } else {
57
- result[i] = [];
58
- }
59
- if (paramAnnotations && paramAnnotations[i] != null) {
60
- result[i] = result[i].concat(paramAnnotations[i]);
61
- }
62
- }
63
- return result;
64
- }
65
-
66
- parameters(type: Type<any>): any[][] {
67
- const paramAnnotations = Annotation.getAllForConstructorParameters(type);
68
- const paramTypes = Reflect.getOwnMetadata('design:paramtypes', type);
69
- if (paramTypes || paramAnnotations) {
70
- return this._zipTypesAndAnnotations(paramTypes, paramAnnotations);
71
- }
72
-
73
- // If a class has no decorators, at least create metadata
74
- // based on function.length.
75
- // Note: We know that this is a real constructor as we checked
76
- // the content of the constructor above.
77
- return new Array(<any>type.length).fill(undefined);
78
- }
79
-
80
- annotations(typeOrFunc: Type<any>): any[] {
81
- return Annotation.getAllForClass(typeOrFunc);
82
- }
83
-
84
- private _ownPropMetadata(typeOrFunc: any, parentCtor: any): { [key: string]: any[] } | null {
85
- // Prefer the direct API.
86
- if ((<any>typeOrFunc).propMetadata && (<any>typeOrFunc).propMetadata !== parentCtor.propMetadata) {
87
- let propMetadata = (<any>typeOrFunc).propMetadata;
88
- if (typeof propMetadata === 'function' && propMetadata.propMetadata) {
89
- propMetadata = propMetadata.propMetadata;
90
- }
91
- return propMetadata;
92
- }
93
-
94
- // API of tsickle for lowering decorators to properties on the class.
95
- if ((<any>typeOrFunc).propDecorators && (<any>typeOrFunc).propDecorators !== parentCtor.propDecorators) {
96
- const propDecorators = (<any>typeOrFunc).propDecorators;
97
- const propMetadata = <{ [key: string]: any[] }>{};
98
- Object.keys(propDecorators).forEach(prop => {
99
- propMetadata[prop] = convertTsickleDecoratorIntoMetadata(propDecorators[prop]);
100
- });
101
- return propMetadata;
102
- }
103
-
104
- // API for metadata created by invoking the decorators.
105
- if (this._reflect && this._reflect.getOwnMetadata) {
106
- return this._reflect.getOwnMetadata('propMetadata', typeOrFunc);
107
- }
108
- return null;
109
- }
110
-
111
- propMetadata(typeOrFunc: any): { [key: string]: any[] } {
112
- if (!isType(typeOrFunc)) {
113
- return {};
114
- }
115
-
116
- return Annotations.getMapForClassProperties(typeOrFunc.prototype);
117
-
118
- const parentCtor = getParentCtor(typeOrFunc);
119
- const propMetadata: { [key: string]: any[] } = {};
120
- if (parentCtor !== Object) {
121
- const parentPropMetadata = this.propMetadata(parentCtor);
122
- Object.keys(parentPropMetadata).forEach(propName => {
123
- propMetadata[propName] = parentPropMetadata[propName];
124
- });
125
- }
126
- const ownPropMetadata = this._ownPropMetadata(typeOrFunc, parentCtor);
127
- if (ownPropMetadata) {
128
- Object.keys(ownPropMetadata).forEach(propName => {
129
- const decorators: any[] = [];
130
- if (propMetadata.hasOwnProperty(propName)) {
131
- decorators.push(...propMetadata[propName]);
23
+ private _reflect: any;
24
+
25
+ constructor(reflect?: any) {
26
+ this._reflect = reflect || global['Reflect'];
27
+ }
28
+
29
+ isReflectionEnabled(): boolean {
30
+ return true;
31
+ }
32
+
33
+ factory<T>(t: ConcreteType<T>): (args: any[]) => T {
34
+ return (...args: any[]) => new t(...args);
35
+ }
36
+
37
+ /** @internal */
38
+ _zipTypesAndAnnotations(paramTypes: any[], paramAnnotations: any[]): any[][] {
39
+ let result: any[][];
40
+
41
+ if (typeof paramTypes === 'undefined') {
42
+ result = new Array(paramAnnotations.length);
43
+ } else {
44
+ result = new Array(paramTypes.length);
45
+ }
46
+
47
+ for (let i = 0; i < result.length; i++) {
48
+ // TS outputs Object for parameters without types, while Traceur omits
49
+ // the annotations. For now we preserve the Traceur behavior to aid
50
+ // migration, but this can be revisited.
51
+ if (typeof paramTypes === 'undefined') {
52
+ result[i] = [];
53
+ // tslint:disable-next-line:triple-equals
54
+ } else if (paramTypes[i] != Object) {
55
+ result[i] = [paramTypes[i]];
56
+ } else {
57
+ result[i] = [];
58
+ }
59
+ if (paramAnnotations && paramAnnotations[i] != null) {
60
+ result[i] = result[i].concat(paramAnnotations[i]);
61
+ }
62
+ }
63
+ return result;
64
+ }
65
+
66
+ parameters(type: Type<any>): any[][] {
67
+ const paramAnnotations = Annotation.getAllForConstructorParameters(type);
68
+ const paramTypes = Reflect.getOwnMetadata('design:paramtypes', type);
69
+ if (paramTypes || paramAnnotations) {
70
+ return this._zipTypesAndAnnotations(paramTypes, paramAnnotations);
132
71
  }
133
- decorators.push(...ownPropMetadata[propName]);
134
- propMetadata[propName] = decorators;
135
- });
72
+
73
+ // If a class has no decorators, at least create metadata
74
+ // based on function.length.
75
+ // Note: We know that this is a real constructor as we checked
76
+ // the content of the constructor above.
77
+ return new Array(<any>type.length).fill(undefined);
136
78
  }
137
- return propMetadata;
138
- }
139
79
 
140
- hasLifecycleHook(type: any, lcProperty: string): boolean {
141
- return type instanceof Type && lcProperty in type.prototype;
142
- }
80
+ annotations(typeOrFunc: Type<any>): any[] {
81
+ return Annotation.getAllForClass(typeOrFunc);
82
+ }
143
83
 
144
- getter(name: string): GetterFn {
145
- return <GetterFn>new Function('o', 'return o.' + name + ';');
146
- }
84
+ private _ownPropMetadata(typeOrFunc: any, parentCtor: any): { [key: string]: any[] } | null {
85
+ // Prefer the direct API.
86
+ if ((<any>typeOrFunc).propMetadata && (<any>typeOrFunc).propMetadata !== parentCtor.propMetadata) {
87
+ let propMetadata = (<any>typeOrFunc).propMetadata;
88
+ if (typeof propMetadata === 'function' && propMetadata.propMetadata) {
89
+ propMetadata = propMetadata.propMetadata;
90
+ }
91
+ return propMetadata;
92
+ }
147
93
 
148
- setter(name: string): SetterFn {
149
- return <SetterFn>new Function('o', 'v', 'return o.' + name + ' = v;');
150
- }
94
+ // API of tsickle for lowering decorators to properties on the class.
95
+ if ((<any>typeOrFunc).propDecorators && (<any>typeOrFunc).propDecorators !== parentCtor.propDecorators) {
96
+ const propDecorators = (<any>typeOrFunc).propDecorators;
97
+ const propMetadata = <{ [key: string]: any[] }>{};
98
+ Object.keys(propDecorators).forEach(prop => {
99
+ propMetadata[prop] = convertTsickleDecoratorIntoMetadata(propDecorators[prop]);
100
+ });
101
+ return propMetadata;
102
+ }
103
+
104
+ // API for metadata created by invoking the decorators.
105
+ if (this._reflect && this._reflect.getOwnMetadata) {
106
+ return this._reflect.getOwnMetadata('propMetadata', typeOrFunc);
107
+ }
108
+ return null;
109
+ }
110
+
111
+ propMetadata(typeOrFunc: any): { [key: string]: any[] } {
112
+ if (!isType(typeOrFunc)) {
113
+ return {};
114
+ }
151
115
 
152
- method(name: string): MethodFn {
153
- const functionBody = `if (!o.${name}) throw new Error('"${name}" is undefined');
116
+ return Annotations.getMapForClassProperties(typeOrFunc.prototype);
117
+
118
+ const parentCtor = getParentCtor(typeOrFunc);
119
+ const propMetadata: { [key: string]: any[] } = {};
120
+ if (parentCtor !== Object) {
121
+ const parentPropMetadata = this.propMetadata(parentCtor);
122
+ Object.keys(parentPropMetadata).forEach(propName => {
123
+ propMetadata[propName] = parentPropMetadata[propName];
124
+ });
125
+ }
126
+ const ownPropMetadata = this._ownPropMetadata(typeOrFunc, parentCtor);
127
+ if (ownPropMetadata) {
128
+ Object.keys(ownPropMetadata!).forEach(propName => {
129
+ const decorators: any[] = [];
130
+ if (propMetadata.hasOwnProperty(propName)) {
131
+ decorators.push(...propMetadata[propName]);
132
+ }
133
+ decorators.push(...ownPropMetadata![propName]);
134
+ propMetadata[propName] = decorators;
135
+ });
136
+ }
137
+ return propMetadata;
138
+ }
139
+
140
+ hasLifecycleHook(type: any, lcProperty: string): boolean {
141
+ return type instanceof Type && lcProperty in type.prototype;
142
+ }
143
+
144
+ getter(name: string): GetterFn {
145
+ return <GetterFn>new Function('o', 'return o.' + name + ';');
146
+ }
147
+
148
+ setter(name: string): SetterFn {
149
+ return <SetterFn>new Function('o', 'v', 'return o.' + name + ' = v;');
150
+ }
151
+
152
+ method(name: string): MethodFn {
153
+ const functionBody = `if (!o.${name}) throw new Error('"${name}" is undefined');
154
154
  return o.${name}.apply(o, args);`;
155
- return <MethodFn>new Function('o', 'args', functionBody);
156
- }
157
-
158
- // There is not a concept of import uri in Js, but this is useful in developing Dart applications.
159
- importUri(type: any): string {
160
- // StaticSymbol
161
- if (typeof type === 'object' && type['filePath']) {
162
- return type['filePath'];
163
- }
164
- // Runtime type
165
- return `./${stringify(type)}`;
166
- }
167
-
168
- resourceUri(type: any): string {
169
- return `./${stringify(type)}`;
170
- }
171
-
172
- resolveIdentifier(name: string, moduleUrl: string, members: string[], runtime: any): any {
173
- return runtime;
174
- }
175
- resolveEnum(enumIdentifier: any, name: string): any {
176
- return enumIdentifier[name];
177
- }
155
+ return <MethodFn>new Function('o', 'args', functionBody);
156
+ }
157
+
158
+ // There is not a concept of import uri in Js, but this is useful in developing Dart applications.
159
+ importUri(type: any): string {
160
+ // StaticSymbol
161
+ if (typeof type === 'object' && type['filePath']) {
162
+ return type['filePath'];
163
+ }
164
+ // Runtime type
165
+ return `./${stringify(type)}`;
166
+ }
167
+
168
+ resourceUri(type: any): string {
169
+ return `./${stringify(type)}`;
170
+ }
171
+
172
+ resolveIdentifier(name: string, moduleUrl: string, members: string[], runtime: any): any {
173
+ return runtime;
174
+ }
175
+ resolveEnum(enumIdentifier: any, name: string): any {
176
+ return enumIdentifier[name];
177
+ }
178
178
  }
179
179
 
180
180
  function convertTsickleDecoratorIntoMetadata(decoratorInvocations: any[]): any[] {
181
- if (!decoratorInvocations) {
182
- return [];
183
- }
184
- return decoratorInvocations.map(decoratorInvocation => {
185
- const decoratorType = decoratorInvocation.type;
186
- const annotationCls = decoratorType.annotationCls;
187
- const annotationArgs = decoratorInvocation.args ? decoratorInvocation.args : [];
188
- return new annotationCls(...annotationArgs);
189
- });
181
+ if (!decoratorInvocations) {
182
+ return [];
183
+ }
184
+ return decoratorInvocations.map(decoratorInvocation => {
185
+ const decoratorType = decoratorInvocation.type;
186
+ const annotationCls = decoratorType.annotationCls;
187
+ const annotationArgs = decoratorInvocation.args ? decoratorInvocation.args : [];
188
+ return new annotationCls(...annotationArgs);
189
+ });
190
190
  }
191
191
 
192
192
  function getParentCtor(ctor: Function): Type<any> {
193
- const parentProto = Object.getPrototypeOf(ctor.prototype);
194
- const parentCtor = parentProto ? parentProto.constructor : null;
195
- // Note: We always use `Object` as the null value
196
- // to simplify checking later on.
197
- return parentCtor || Object;
193
+ const parentProto = Object.getPrototypeOf(ctor.prototype);
194
+ const parentCtor = parentProto ? parentProto.constructor : null;
195
+ // Note: We always use `Object` as the null value
196
+ // to simplify checking later on.
197
+ return parentCtor || Object;
198
198
  }