lakutata 0.0.1
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/.idea/codeStyles/Project.xml +18 -0
- package/.idea/codeStyles/codeStyleConfig.xml +5 -0
- package/.idea/inspectionProfiles/Project_Default.xml +6 -0
- package/.idea/lakutata.iml +13 -0
- package/.idea/modules.xml +8 -0
- package/.idea/vcs.xml +6 -0
- package/LICENSE +21 -0
- package/README.md +1 -0
- package/build/Application-78a416de.d.ts +387 -0
- package/build/Application-b5e19e08.d.ts +387 -0
- package/build/Components.cjs +55 -0
- package/build/Components.d.cts +9 -0
- package/build/Components.d.ts +9 -0
- package/build/Components.js +44 -0
- package/build/Core.cjs +148 -0
- package/build/Core.d.cts +33 -0
- package/build/Core.d.ts +33 -0
- package/build/Core.js +71 -0
- package/build/Crypto.cjs +96 -0
- package/build/Crypto.d.cts +19 -0
- package/build/Crypto.d.ts +19 -0
- package/build/Crypto.js +41 -0
- package/build/Decorators.cjs +100 -0
- package/build/Decorators.d.cts +23 -0
- package/build/Decorators.d.ts +23 -0
- package/build/Decorators.js +45 -0
- package/build/DependencyInjectionContainer-871a6c03.d.ts +340 -0
- package/build/DependencyInjectionContainer-f037ac36.d.ts +340 -0
- package/build/Exceptions.cjs +144 -0
- package/build/Exceptions.d.cts +28 -0
- package/build/Exceptions.d.ts +28 -0
- package/build/Exceptions.js +37 -0
- package/build/Hash.cjs +223 -0
- package/build/Hash.d.cts +535 -0
- package/build/Hash.d.ts +535 -0
- package/build/Hash.js +10 -0
- package/build/Time.cjs +14 -0
- package/build/Time.d.cts +5 -0
- package/build/Time.d.ts +5 -0
- package/build/Time.js +5 -0
- package/build/TimeInput-24fced42.d.ts +243 -0
- package/build/TimeInput-4401fc58.d.ts +243 -0
- package/build/Utilities.cjs +100 -0
- package/build/Utilities.d.cts +212 -0
- package/build/Utilities.d.ts +212 -0
- package/build/Utilities.js +7 -0
- package/build/Validator.cjs +24 -0
- package/build/Validator.d.cts +1851 -0
- package/build/Validator.d.ts +1851 -0
- package/build/Validator.js +11 -0
- package/build/chunk-26TQI22I.js +196 -0
- package/build/chunk-27OFA7C3.js +16 -0
- package/build/chunk-2C2UILFN.js +23 -0
- package/build/chunk-2CHYQHWR.cjs +16 -0
- package/build/chunk-2DN35UQB.cjs +10947 -0
- package/build/chunk-2E4TF6LU.cjs +16 -0
- package/build/chunk-2PLJEW2R.js +14 -0
- package/build/chunk-2RW3VMNS.js +45 -0
- package/build/chunk-2T6JU2UH.js +14 -0
- package/build/chunk-3CX3GCQF.js +32 -0
- package/build/chunk-3JIQCDQG.cjs +25 -0
- package/build/chunk-3KLEN3PR.js +14 -0
- package/build/chunk-3LZRQPJ5.js +14 -0
- package/build/chunk-3NHHHZFR.cjs +870 -0
- package/build/chunk-4332C5BW.js +30 -0
- package/build/chunk-46V7GHKE.cjs +25 -0
- package/build/chunk-4EPPSZ7L.js +14 -0
- package/build/chunk-4FEEQIQ4.js +23 -0
- package/build/chunk-4G2ZCUBN.js +5570 -0
- package/build/chunk-4KTVY73U.js +15 -0
- package/build/chunk-4MQXSUTL.cjs +14 -0
- package/build/chunk-4OHSPWRQ.js +34 -0
- package/build/chunk-4PK4TGU4.cjs +16 -0
- package/build/chunk-4YXUEJSO.js +23 -0
- package/build/chunk-5475IFR4.cjs +16 -0
- package/build/chunk-5B5Z4GCR.cjs +17 -0
- package/build/chunk-5FPTDIKI.cjs +16 -0
- package/build/chunk-5NK7E2HA.js +69 -0
- package/build/chunk-67F5WP5Z.cjs +8 -0
- package/build/chunk-6BJTKEXZ.cjs +25 -0
- package/build/chunk-6WNLPTDY.cjs +8 -0
- package/build/chunk-7G7FCNEG.cjs +8 -0
- package/build/chunk-7IVNTVYK.cjs +16 -0
- package/build/chunk-7MJAWOWL.js +22896 -0
- package/build/chunk-7MTOK62N.js +767 -0
- package/build/chunk-7PADGZPI.cjs +129 -0
- package/build/chunk-7ZUM53G6.js +14 -0
- package/build/chunk-A4BYNKYF.js +42 -0
- package/build/chunk-A7F6LCRA.cjs +16 -0
- package/build/chunk-AFV3VN3X.cjs +8 -0
- package/build/chunk-AGHMOCC3.cjs +16 -0
- package/build/chunk-AHUH4FWQ.cjs +29 -0
- package/build/chunk-AM4YMG2S.js +6 -0
- package/build/chunk-ANDEVIKJ.cjs +16 -0
- package/build/chunk-APETX7ZT.cjs +16 -0
- package/build/chunk-ASMC7EUP.js +6 -0
- package/build/chunk-BDCRHGKN.js +6 -0
- package/build/chunk-BDJXMO44.js +2920 -0
- package/build/chunk-BE7ICF5R.js +32 -0
- package/build/chunk-BEDKPRVX.cjs +17 -0
- package/build/chunk-BFE66ADZ.cjs +34 -0
- package/build/chunk-BKCT2HSQ.js +178 -0
- package/build/chunk-BMNC4W46.js +20 -0
- package/build/chunk-BO7Y6HNS.cjs +176 -0
- package/build/chunk-D4H35ART.cjs +53 -0
- package/build/chunk-D5DE7Z4J.js +29 -0
- package/build/chunk-DHSSJJMD.cjs +25 -0
- package/build/chunk-DIMOR6NE.cjs +8 -0
- package/build/chunk-DN5TSX6S.cjs +244 -0
- package/build/chunk-EEH5LCBP.cjs +16 -0
- package/build/chunk-EFYDUUXT.cjs +92 -0
- package/build/chunk-ENJSEFE4.js +14 -0
- package/build/chunk-EPYJVQHQ.js +6 -0
- package/build/chunk-EUVLTNDV.js +32 -0
- package/build/chunk-EXQVCESB.cjs +20 -0
- package/build/chunk-EYPPC6HP.js +18 -0
- package/build/chunk-F5NKGQDL.cjs +16 -0
- package/build/chunk-F7RNH2H2.js +266 -0
- package/build/chunk-FCTV4OB7.cjs +50 -0
- package/build/chunk-FHEXUE67.js +29 -0
- package/build/chunk-FJP3KNXK.js +23 -0
- package/build/chunk-FJQSLRIP.js +14 -0
- package/build/chunk-FSFWPTIC.js +6 -0
- package/build/chunk-FTKFMQHJ.cjs +16 -0
- package/build/chunk-FW26MPE4.js +69 -0
- package/build/chunk-FZNRGZGE.js +6372 -0
- package/build/chunk-G7EDOLQ7.cjs +100 -0
- package/build/chunk-GGY7LCMQ.cjs +73 -0
- package/build/chunk-GLWUJIMW.cjs +8 -0
- package/build/chunk-GZ5KN2PE.js +6 -0
- package/build/chunk-HBPRX3WA.cjs +202 -0
- package/build/chunk-HJAQ6WJM.cjs +288 -0
- package/build/chunk-HJSJA5CF.js +14 -0
- package/build/chunk-HKAY7FWM.js +28 -0
- package/build/chunk-HMKTNRQF.js +14 -0
- package/build/chunk-HODDA5D5.js +199 -0
- package/build/chunk-HPKJUFTM.js +14 -0
- package/build/chunk-HWCTWIVZ.cjs +30 -0
- package/build/chunk-HXWC4YN6.cjs +22908 -0
- package/build/chunk-HZJ7XFHQ.cjs +8 -0
- package/build/chunk-I5TGKTX6.js +18 -0
- package/build/chunk-I7J6V3EU.cjs +34 -0
- package/build/chunk-IKWXYUGY.js +14 -0
- package/build/chunk-IYGGR65W.cjs +16 -0
- package/build/chunk-J6RXNX2K.js +174 -0
- package/build/chunk-JAEEMFEZ.cjs +24 -0
- package/build/chunk-JFOMNL5I.cjs +22 -0
- package/build/chunk-JPV2PUHF.cjs +8 -0
- package/build/chunk-JR726PDZ.cjs +70 -0
- package/build/chunk-JTKOYDJB.js +5914 -0
- package/build/chunk-JU53NOVA.cjs +31 -0
- package/build/chunk-JVSBYHUY.js +10944 -0
- package/build/chunk-JYBISTRN.cjs +25 -0
- package/build/chunk-K2ALA7QI.js +12 -0
- package/build/chunk-KG6DPM4B.js +14 -0
- package/build/chunk-KNSBLLL2.cjs +32 -0
- package/build/chunk-KNTGBUSY.js +6 -0
- package/build/chunk-KWOHVRRL.js +6 -0
- package/build/chunk-L3IVYIVA.js +23 -0
- package/build/chunk-LBL5XNWX.js +221 -0
- package/build/chunk-LBOBUFWZ.js +6 -0
- package/build/chunk-LEJXJUBE.js +6 -0
- package/build/chunk-LJTCXKC4.js +242 -0
- package/build/chunk-MBKTJ3KM.cjs +118 -0
- package/build/chunk-MDE5SRLT.cjs +16 -0
- package/build/chunk-MEKICSEL.js +22 -0
- package/build/chunk-MNDBRDT2.cjs +608 -0
- package/build/chunk-MSWZLYS7.cjs +5916 -0
- package/build/chunk-MT2OB376.js +14 -0
- package/build/chunk-MVWB4XDJ.js +14 -0
- package/build/chunk-MXAAAL2S.js +53 -0
- package/build/chunk-N37KV2VV.cjs +199 -0
- package/build/chunk-NZ5IZMM5.cjs +2922 -0
- package/build/chunk-O2NOYN65.js +54 -0
- package/build/chunk-OAD22QZQ.js +6 -0
- package/build/chunk-OIFILR4I.js +125 -0
- package/build/chunk-OJGBPS2B.cjs +16 -0
- package/build/chunk-OMPATIMZ.cjs +71 -0
- package/build/chunk-P3Z7ZEGJ.cjs +18 -0
- package/build/chunk-P6BBXCBD.cjs +6425 -0
- package/build/chunk-PE4C2TIO.cjs +16 -0
- package/build/chunk-PF2WAZLH.cjs +52 -0
- package/build/chunk-PFFTGOAR.cjs +25 -0
- package/build/chunk-PFUZLHWJ.cjs +25 -0
- package/build/chunk-POE7A7NF.cjs +180 -0
- package/build/chunk-PQSDA5BN.js +50 -0
- package/build/chunk-PR5TPAGH.js +14 -0
- package/build/chunk-PXMWVOKK.cjs +16 -0
- package/build/chunk-PZ5OJC4I.cjs +16 -0
- package/build/chunk-Q4LNTPEI.cjs +34 -0
- package/build/chunk-QCA5YGYV.js +14 -0
- package/build/chunk-QGGML4PP.js +17 -0
- package/build/chunk-QHW273SN.js +32 -0
- package/build/chunk-QJJRQMA6.cjs +8 -0
- package/build/chunk-QKB76MIV.cjs +769 -0
- package/build/chunk-QKVPGRI5.cjs +8 -0
- package/build/chunk-QME47CJL.cjs +8 -0
- package/build/chunk-QNJ6XBYQ.js +14 -0
- package/build/chunk-QWYKUNU5.js +14 -0
- package/build/chunk-QXTBP6TW.js +116 -0
- package/build/chunk-RH3LAIQS.js +32 -0
- package/build/chunk-RMAXG5F7.js +118 -0
- package/build/chunk-RUHAPGDE.js +14 -0
- package/build/chunk-S4KA3ZGO.js +6 -0
- package/build/chunk-SAGMV3YX.cjs +16 -0
- package/build/chunk-SCWEQ5JA.cjs +34 -0
- package/build/chunk-SEKBDIJH.cjs +16 -0
- package/build/chunk-SGWWTKLW.cjs +16 -0
- package/build/chunk-SWCU6OID.cjs +61 -0
- package/build/chunk-T4C7UJEZ.js +29 -0
- package/build/chunk-TBWIKIS3.cjs +8 -0
- package/build/chunk-TS74DN3N.cjs +229 -0
- package/build/chunk-TXTNUC7S.cjs +16 -0
- package/build/chunk-UEGDBJEG.cjs +127 -0
- package/build/chunk-UR2ZK7MI.cjs +16 -0
- package/build/chunk-VAOR6JOP.js +14 -0
- package/build/chunk-VELZ3KJY.cjs +45 -0
- package/build/chunk-VHTAHAD6.cjs +34 -0
- package/build/chunk-VISA22LF.js +14 -0
- package/build/chunk-VOFRWVGM.js +23 -0
- package/build/chunk-VPRNM6FU.cjs +118 -0
- package/build/chunk-VTFNEUOF.js +14 -0
- package/build/chunk-VVNU27G2.js +868 -0
- package/build/chunk-W3TQER3B.cjs +31 -0
- package/build/chunk-WINISBV4.js +70 -0
- package/build/chunk-WSEZ7DZV.js +14 -0
- package/build/chunk-WW57G6RG.js +124 -0
- package/build/chunk-WYJCE3KY.cjs +5593 -0
- package/build/chunk-WZI5UPER.cjs +61 -0
- package/build/chunk-WZZF2IEV.js +14 -0
- package/build/chunk-X4AIZSIY.cjs +47 -0
- package/build/chunk-XO6M5AYN.js +585 -0
- package/build/chunk-XWP76C6E.js +25 -0
- package/build/chunk-Y7O5SCF6.cjs +16 -0
- package/build/chunk-YEBPQG7X.js +96 -0
- package/build/chunk-YT4CYDJ3.js +14 -0
- package/build/chunk-ZG3PHRVQ.cjs +20 -0
- package/build/chunk-ZG7QF5S2.cjs +16 -0
- package/build/chunk-ZJYLWSBE.js +90 -0
- package/build/chunk-ZYBMNLGI.js +48 -0
- package/build/constants/DefaultValue.cjs +14 -0
- package/build/constants/DefaultValue.d.cts +9 -0
- package/build/constants/DefaultValue.d.ts +9 -0
- package/build/constants/DefaultValue.js +5 -0
- package/build/constants/MetadataKey.cjs +114 -0
- package/build/constants/MetadataKey.d.cts +30 -0
- package/build/constants/MetadataKey.d.ts +30 -0
- package/build/constants/MetadataKey.js +5 -0
- package/build/decorators/ControllerDecorators.cjs +21 -0
- package/build/decorators/ControllerDecorators.d.cts +32 -0
- package/build/decorators/ControllerDecorators.d.ts +32 -0
- package/build/decorators/ControllerDecorators.js +12 -0
- package/build/decorators/DependencyInjectionDecorators.cjs +78 -0
- package/build/decorators/DependencyInjectionDecorators.d.cts +75 -0
- package/build/decorators/DependencyInjectionDecorators.d.ts +75 -0
- package/build/decorators/DependencyInjectionDecorators.js +41 -0
- package/build/decorators/ValidationDecorators.cjs +35 -0
- package/build/decorators/ValidationDecorators.d.cts +36 -0
- package/build/decorators/ValidationDecorators.d.ts +36 -0
- package/build/decorators/ValidationDecorators.js +14 -0
- package/build/exceptions/DependencyInjectionException.cjs +18 -0
- package/build/exceptions/DependencyInjectionException.d.cts +8 -0
- package/build/exceptions/DependencyInjectionException.d.ts +8 -0
- package/build/exceptions/DependencyInjectionException.js +9 -0
- package/build/exceptions/InvalidConfigurableValueException.cjs +18 -0
- package/build/exceptions/InvalidConfigurableValueException.d.cts +8 -0
- package/build/exceptions/InvalidConfigurableValueException.d.ts +8 -0
- package/build/exceptions/InvalidConfigurableValueException.js +9 -0
- package/build/exceptions/InvalidDTOValueException.cjs +18 -0
- package/build/exceptions/InvalidDTOValueException.d.cts +8 -0
- package/build/exceptions/InvalidDTOValueException.d.ts +8 -0
- package/build/exceptions/InvalidDTOValueException.js +9 -0
- package/build/exceptions/InvalidGlobStringException.cjs +18 -0
- package/build/exceptions/InvalidGlobStringException.d.cts +8 -0
- package/build/exceptions/InvalidGlobStringException.d.ts +8 -0
- package/build/exceptions/InvalidGlobStringException.js +9 -0
- package/build/exceptions/MethodNotFoundException.cjs +18 -0
- package/build/exceptions/MethodNotFoundException.d.cts +8 -0
- package/build/exceptions/MethodNotFoundException.d.ts +8 -0
- package/build/exceptions/MethodNotFoundException.js +9 -0
- package/build/exceptions/NotSupportHashException.cjs +18 -0
- package/build/exceptions/NotSupportHashException.d.cts +8 -0
- package/build/exceptions/NotSupportHashException.d.ts +8 -0
- package/build/exceptions/NotSupportHashException.js +9 -0
- package/build/exceptions/controller/DuplicateControllerActionPatternException.cjs +18 -0
- package/build/exceptions/controller/DuplicateControllerActionPatternException.d.cts +8 -0
- package/build/exceptions/controller/DuplicateControllerActionPatternException.d.ts +8 -0
- package/build/exceptions/controller/DuplicateControllerActionPatternException.js +9 -0
- package/build/exceptions/controller/DynamicRegisterControllerNotAllowException.cjs +18 -0
- package/build/exceptions/controller/DynamicRegisterControllerNotAllowException.d.cts +8 -0
- package/build/exceptions/controller/DynamicRegisterControllerNotAllowException.d.ts +8 -0
- package/build/exceptions/controller/DynamicRegisterControllerNotAllowException.js +9 -0
- package/build/exceptions/controller/NoMatchedControllerActionPatternException.cjs +18 -0
- package/build/exceptions/controller/NoMatchedControllerActionPatternException.d.cts +8 -0
- package/build/exceptions/controller/NoMatchedControllerActionPatternException.d.ts +8 -0
- package/build/exceptions/controller/NoMatchedControllerActionPatternException.js +9 -0
- package/build/exceptions/crypto/asymmetric/AsymmetricDecryptException.cjs +18 -0
- package/build/exceptions/crypto/asymmetric/AsymmetricDecryptException.d.cts +8 -0
- package/build/exceptions/crypto/asymmetric/AsymmetricDecryptException.d.ts +8 -0
- package/build/exceptions/crypto/asymmetric/AsymmetricDecryptException.js +9 -0
- package/build/exceptions/crypto/asymmetric/AsymmetricEncryptException.cjs +18 -0
- package/build/exceptions/crypto/asymmetric/AsymmetricEncryptException.d.cts +8 -0
- package/build/exceptions/crypto/asymmetric/AsymmetricEncryptException.d.ts +8 -0
- package/build/exceptions/crypto/asymmetric/AsymmetricEncryptException.js +9 -0
- package/build/exceptions/crypto/asymmetric/AsymmetricSignException.cjs +18 -0
- package/build/exceptions/crypto/asymmetric/AsymmetricSignException.d.cts +8 -0
- package/build/exceptions/crypto/asymmetric/AsymmetricSignException.d.ts +8 -0
- package/build/exceptions/crypto/asymmetric/AsymmetricSignException.js +9 -0
- package/build/exceptions/crypto/asymmetric/AsymmetricVerifyException.cjs +18 -0
- package/build/exceptions/crypto/asymmetric/AsymmetricVerifyException.d.cts +8 -0
- package/build/exceptions/crypto/asymmetric/AsymmetricVerifyException.d.ts +8 -0
- package/build/exceptions/crypto/asymmetric/AsymmetricVerifyException.js +9 -0
- package/build/exceptions/crypto/asymmetric/InvalidAsymmetricEncryptKeyPairException.cjs +18 -0
- package/build/exceptions/crypto/asymmetric/InvalidAsymmetricEncryptKeyPairException.d.cts +8 -0
- package/build/exceptions/crypto/asymmetric/InvalidAsymmetricEncryptKeyPairException.d.ts +8 -0
- package/build/exceptions/crypto/asymmetric/InvalidAsymmetricEncryptKeyPairException.js +9 -0
- package/build/exceptions/crypto/asymmetric/InvalidAsymmetricEncryptPrivateKeyException.cjs +18 -0
- package/build/exceptions/crypto/asymmetric/InvalidAsymmetricEncryptPrivateKeyException.d.cts +8 -0
- package/build/exceptions/crypto/asymmetric/InvalidAsymmetricEncryptPrivateKeyException.d.ts +8 -0
- package/build/exceptions/crypto/asymmetric/InvalidAsymmetricEncryptPrivateKeyException.js +9 -0
- package/build/exceptions/crypto/asymmetric/InvalidAsymmetricEncryptPublicKeyException.cjs +18 -0
- package/build/exceptions/crypto/asymmetric/InvalidAsymmetricEncryptPublicKeyException.d.cts +8 -0
- package/build/exceptions/crypto/asymmetric/InvalidAsymmetricEncryptPublicKeyException.d.ts +8 -0
- package/build/exceptions/crypto/asymmetric/InvalidAsymmetricEncryptPublicKeyException.js +9 -0
- package/build/exceptions/crypto/asymmetric/NoAsymmetricEncryptPrivateKeyException.cjs +18 -0
- package/build/exceptions/crypto/asymmetric/NoAsymmetricEncryptPrivateKeyException.d.cts +8 -0
- package/build/exceptions/crypto/asymmetric/NoAsymmetricEncryptPrivateKeyException.d.ts +8 -0
- package/build/exceptions/crypto/asymmetric/NoAsymmetricEncryptPrivateKeyException.js +9 -0
- package/build/exceptions/crypto/asymmetric/NoAsymmetricEncryptPublicKeyException.cjs +18 -0
- package/build/exceptions/crypto/asymmetric/NoAsymmetricEncryptPublicKeyException.d.cts +8 -0
- package/build/exceptions/crypto/asymmetric/NoAsymmetricEncryptPublicKeyException.d.ts +8 -0
- package/build/exceptions/crypto/asymmetric/NoAsymmetricEncryptPublicKeyException.js +9 -0
- package/build/exceptions/crypto/symmetric/InvalidSymmetricCipherIVLengthException.cjs +18 -0
- package/build/exceptions/crypto/symmetric/InvalidSymmetricCipherIVLengthException.d.cts +8 -0
- package/build/exceptions/crypto/symmetric/InvalidSymmetricCipherIVLengthException.d.ts +8 -0
- package/build/exceptions/crypto/symmetric/InvalidSymmetricCipherIVLengthException.js +9 -0
- package/build/exceptions/crypto/symmetric/InvalidSymmetricCipherKeyLengthException.cjs +18 -0
- package/build/exceptions/crypto/symmetric/InvalidSymmetricCipherKeyLengthException.d.cts +8 -0
- package/build/exceptions/crypto/symmetric/InvalidSymmetricCipherKeyLengthException.d.ts +8 -0
- package/build/exceptions/crypto/symmetric/InvalidSymmetricCipherKeyLengthException.js +9 -0
- package/build/exceptions/crypto/symmetric/NotSupportCipherException.cjs +18 -0
- package/build/exceptions/crypto/symmetric/NotSupportCipherException.d.cts +8 -0
- package/build/exceptions/crypto/symmetric/NotSupportCipherException.d.ts +8 -0
- package/build/exceptions/crypto/symmetric/NotSupportCipherException.js +9 -0
- package/build/exceptions/crypto/symmetric/SymmetricDecryptException.cjs +18 -0
- package/build/exceptions/crypto/symmetric/SymmetricDecryptException.d.cts +8 -0
- package/build/exceptions/crypto/symmetric/SymmetricDecryptException.d.ts +8 -0
- package/build/exceptions/crypto/symmetric/SymmetricDecryptException.js +9 -0
- package/build/exceptions/crypto/symmetric/SymmetricEncryptException.cjs +18 -0
- package/build/exceptions/crypto/symmetric/SymmetricEncryptException.d.cts +8 -0
- package/build/exceptions/crypto/symmetric/SymmetricEncryptException.d.ts +8 -0
- package/build/exceptions/crypto/symmetric/SymmetricEncryptException.js +9 -0
- package/build/exceptions/validation/InvalidMethodAcceptException.cjs +18 -0
- package/build/exceptions/validation/InvalidMethodAcceptException.d.cts +8 -0
- package/build/exceptions/validation/InvalidMethodAcceptException.d.ts +8 -0
- package/build/exceptions/validation/InvalidMethodAcceptException.js +9 -0
- package/build/exceptions/validation/InvalidMethodReturnException.cjs +18 -0
- package/build/exceptions/validation/InvalidMethodReturnException.d.cts +8 -0
- package/build/exceptions/validation/InvalidMethodReturnException.d.ts +8 -0
- package/build/exceptions/validation/InvalidMethodReturnException.js +9 -0
- package/build/exceptions/validation/InvalidValueException.cjs +18 -0
- package/build/exceptions/validation/InvalidValueException.d.cts +8 -0
- package/build/exceptions/validation/InvalidValueException.d.ts +8 -0
- package/build/exceptions/validation/InvalidValueException.js +9 -0
- package/build/index.d-e5279fea.d.ts +872 -0
- package/build/interfaces/IConstructor.cjs +7 -0
- package/build/interfaces/IConstructor.d.cts +6 -0
- package/build/interfaces/IConstructor.d.ts +6 -0
- package/build/interfaces/IConstructor.js +4 -0
- package/build/interfaces/ILogger.cjs +7 -0
- package/build/interfaces/ILogger.d.cts +22 -0
- package/build/interfaces/ILogger.d.ts +22 -0
- package/build/interfaces/ILogger.js +4 -0
- package/build/interfaces/IPatRun.cjs +7 -0
- package/build/interfaces/IPatRun.d.cts +12 -0
- package/build/interfaces/IPatRun.d.ts +12 -0
- package/build/interfaces/IPatRun.js +4 -0
- package/build/interfaces/ISortArrayOptions.cjs +7 -0
- package/build/interfaces/ISortArrayOptions.d.cts +12 -0
- package/build/interfaces/ISortArrayOptions.d.ts +12 -0
- package/build/interfaces/ISortArrayOptions.js +4 -0
- package/build/interfaces/ISortObjectOptions.cjs +7 -0
- package/build/interfaces/ISortObjectOptions.d.cts +6 -0
- package/build/interfaces/ISortObjectOptions.d.ts +6 -0
- package/build/interfaces/ISortObjectOptions.js +4 -0
- package/build/lib/Application.cjs +50 -0
- package/build/lib/Application.d.cts +20 -0
- package/build/lib/Application.d.ts +20 -0
- package/build/lib/Application.js +41 -0
- package/build/lib/base/BaseObject.cjs +50 -0
- package/build/lib/base/BaseObject.d.cts +112 -0
- package/build/lib/base/BaseObject.d.ts +112 -0
- package/build/lib/base/BaseObject.js +41 -0
- package/build/lib/base/Component.cjs +50 -0
- package/build/lib/base/Component.d.cts +116 -0
- package/build/lib/base/Component.d.ts +116 -0
- package/build/lib/base/Component.js +41 -0
- package/build/lib/base/Container.cjs +50 -0
- package/build/lib/base/Container.d.cts +20 -0
- package/build/lib/base/Container.d.ts +20 -0
- package/build/lib/base/Container.js +41 -0
- package/build/lib/base/Controller.cjs +50 -0
- package/build/lib/base/Controller.d.cts +20 -0
- package/build/lib/base/Controller.d.ts +20 -0
- package/build/lib/base/Controller.js +41 -0
- package/build/lib/base/DTO.cjs +23 -0
- package/build/lib/base/DTO.d.cts +59 -0
- package/build/lib/base/DTO.d.ts +59 -0
- package/build/lib/base/DTO.js +14 -0
- package/build/lib/base/Model.cjs +51 -0
- package/build/lib/base/Model.d.cts +30 -0
- package/build/lib/base/Model.d.ts +30 -0
- package/build/lib/base/Model.js +42 -0
- package/build/lib/base/Module.cjs +50 -0
- package/build/lib/base/Module.d.cts +20 -0
- package/build/lib/base/Module.d.ts +20 -0
- package/build/lib/base/Module.js +41 -0
- package/build/lib/base/abstracts/AsymmetricEncryption.cjs +27 -0
- package/build/lib/base/abstracts/AsymmetricEncryption.d.cts +172 -0
- package/build/lib/base/abstracts/AsymmetricEncryption.d.ts +172 -0
- package/build/lib/base/abstracts/AsymmetricEncryption.js +18 -0
- package/build/lib/base/abstracts/Exception.cjs +17 -0
- package/build/lib/base/abstracts/Exception.d.cts +23 -0
- package/build/lib/base/abstracts/Exception.d.ts +23 -0
- package/build/lib/base/abstracts/Exception.js +8 -0
- package/build/lib/base/abstracts/Interval.cjs +51 -0
- package/build/lib/base/abstracts/Interval.d.cts +76 -0
- package/build/lib/base/abstracts/Interval.d.ts +76 -0
- package/build/lib/base/abstracts/Interval.js +42 -0
- package/build/lib/base/abstracts/SymmetricEncryption.cjs +23 -0
- package/build/lib/base/abstracts/SymmetricEncryption.d.cts +149 -0
- package/build/lib/base/abstracts/SymmetricEncryption.d.ts +149 -0
- package/build/lib/base/abstracts/SymmetricEncryption.js +14 -0
- package/build/lib/base/async-constructor/Append.cjs +14 -0
- package/build/lib/base/async-constructor/Append.d.cts +5 -0
- package/build/lib/base/async-constructor/Append.d.ts +5 -0
- package/build/lib/base/async-constructor/Append.js +5 -0
- package/build/lib/base/async-constructor/AsyncConstructor.cjs +15 -0
- package/build/lib/base/async-constructor/AsyncConstructor.d.cts +7 -0
- package/build/lib/base/async-constructor/AsyncConstructor.d.ts +7 -0
- package/build/lib/base/async-constructor/AsyncConstructor.js +6 -0
- package/build/lib/components/Formatter.cjs +50 -0
- package/build/lib/components/Formatter.d.cts +203 -0
- package/build/lib/components/Formatter.d.ts +203 -0
- package/build/lib/components/Formatter.js +41 -0
- package/build/lib/components/Logger.cjs +50 -0
- package/build/lib/components/Logger.d.cts +61 -0
- package/build/lib/components/Logger.d.ts +61 -0
- package/build/lib/components/Logger.js +41 -0
- package/build/lib/crypto/RSA.cjs +28 -0
- package/build/lib/crypto/RSA.d.cts +61 -0
- package/build/lib/crypto/RSA.d.ts +61 -0
- package/build/lib/crypto/RSA.js +19 -0
- package/build/lib/crypto/SM2.cjs +28 -0
- package/build/lib/crypto/SM2.d.cts +47 -0
- package/build/lib/crypto/SM2.d.ts +47 -0
- package/build/lib/crypto/SM2.js +19 -0
- package/build/lib/crypto/aes/AES128.cjs +25 -0
- package/build/lib/crypto/aes/AES128.d.cts +14 -0
- package/build/lib/crypto/aes/AES128.d.ts +14 -0
- package/build/lib/crypto/aes/AES128.js +16 -0
- package/build/lib/crypto/aes/AES192.cjs +25 -0
- package/build/lib/crypto/aes/AES192.d.cts +14 -0
- package/build/lib/crypto/aes/AES192.d.ts +14 -0
- package/build/lib/crypto/aes/AES192.js +16 -0
- package/build/lib/crypto/aes/AES256.cjs +25 -0
- package/build/lib/crypto/aes/AES256.d.cts +14 -0
- package/build/lib/crypto/aes/AES256.d.ts +14 -0
- package/build/lib/crypto/aes/AES256.js +16 -0
- package/build/lib/crypto/aria/ARIA128.cjs +24 -0
- package/build/lib/crypto/aria/ARIA128.d.cts +13 -0
- package/build/lib/crypto/aria/ARIA128.d.ts +13 -0
- package/build/lib/crypto/aria/ARIA128.js +15 -0
- package/build/lib/crypto/aria/ARIA192.cjs +24 -0
- package/build/lib/crypto/aria/ARIA192.d.cts +13 -0
- package/build/lib/crypto/aria/ARIA192.d.ts +13 -0
- package/build/lib/crypto/aria/ARIA192.js +15 -0
- package/build/lib/crypto/aria/ARIA256.cjs +24 -0
- package/build/lib/crypto/aria/ARIA256.d.cts +13 -0
- package/build/lib/crypto/aria/ARIA256.d.ts +13 -0
- package/build/lib/crypto/aria/ARIA256.js +15 -0
- package/build/lib/crypto/camellia/CAMELLIA128.cjs +24 -0
- package/build/lib/crypto/camellia/CAMELLIA128.d.cts +13 -0
- package/build/lib/crypto/camellia/CAMELLIA128.d.ts +13 -0
- package/build/lib/crypto/camellia/CAMELLIA128.js +15 -0
- package/build/lib/crypto/camellia/CAMELLIA192.cjs +24 -0
- package/build/lib/crypto/camellia/CAMELLIA192.d.cts +13 -0
- package/build/lib/crypto/camellia/CAMELLIA192.d.ts +13 -0
- package/build/lib/crypto/camellia/CAMELLIA192.js +15 -0
- package/build/lib/crypto/camellia/CAMELLIA256.cjs +24 -0
- package/build/lib/crypto/camellia/CAMELLIA256.d.cts +13 -0
- package/build/lib/crypto/camellia/CAMELLIA256.d.ts +13 -0
- package/build/lib/crypto/camellia/CAMELLIA256.js +15 -0
- package/build/lib/crypto/des/DES.cjs +25 -0
- package/build/lib/crypto/des/DES.d.cts +14 -0
- package/build/lib/crypto/des/DES.d.ts +14 -0
- package/build/lib/crypto/des/DES.js +16 -0
- package/build/lib/crypto/des/TripleDES.cjs +25 -0
- package/build/lib/crypto/des/TripleDES.d.cts +14 -0
- package/build/lib/crypto/des/TripleDES.d.ts +14 -0
- package/build/lib/crypto/des/TripleDES.js +16 -0
- package/build/lib/ioc/DependencyInjectionContainer.cjs +29 -0
- package/build/lib/ioc/DependencyInjectionContainer.d.cts +4 -0
- package/build/lib/ioc/DependencyInjectionContainer.d.ts +4 -0
- package/build/lib/ioc/DependencyInjectionContainer.js +20 -0
- package/build/lib/ioc/Errors.cjs +27 -0
- package/build/lib/ioc/Errors.d.cts +53 -0
- package/build/lib/ioc/Errors.d.ts +53 -0
- package/build/lib/ioc/Errors.js +10 -0
- package/build/lib/ioc/FunctionTokenizer.cjs +18 -0
- package/build/lib/ioc/FunctionTokenizer.d.cts +33 -0
- package/build/lib/ioc/FunctionTokenizer.d.ts +33 -0
- package/build/lib/ioc/FunctionTokenizer.js +5 -0
- package/build/lib/ioc/InjectionMode.cjs +14 -0
- package/build/lib/ioc/InjectionMode.d.cts +12 -0
- package/build/lib/ioc/InjectionMode.d.ts +12 -0
- package/build/lib/ioc/InjectionMode.js +5 -0
- package/build/lib/ioc/Lifetime.cjs +14 -0
- package/build/lib/ioc/Lifetime.d.cts +12 -0
- package/build/lib/ioc/Lifetime.d.ts +12 -0
- package/build/lib/ioc/Lifetime.js +5 -0
- package/build/lib/ioc/ListModules.cjs +17 -0
- package/build/lib/ioc/ListModules.d.cts +4 -0
- package/build/lib/ioc/ListModules.d.ts +4 -0
- package/build/lib/ioc/ListModules.js +8 -0
- package/build/lib/ioc/LoadModuleNative.cjs +14 -0
- package/build/lib/ioc/LoadModuleNative.d.cts +9 -0
- package/build/lib/ioc/LoadModuleNative.d.ts +9 -0
- package/build/lib/ioc/LoadModuleNative.js +5 -0
- package/build/lib/ioc/LoadModules.cjs +26 -0
- package/build/lib/ioc/LoadModules.d.cts +4 -0
- package/build/lib/ioc/LoadModules.d.ts +4 -0
- package/build/lib/ioc/LoadModules.js +17 -0
- package/build/lib/ioc/ParamParser.cjs +15 -0
- package/build/lib/ioc/ParamParser.d.cts +25 -0
- package/build/lib/ioc/ParamParser.d.ts +25 -0
- package/build/lib/ioc/ParamParser.js +6 -0
- package/build/lib/ioc/Resolvers.cjs +49 -0
- package/build/lib/ioc/Resolvers.d.cts +4 -0
- package/build/lib/ioc/Resolvers.d.ts +4 -0
- package/build/lib/ioc/Resolvers.js +16 -0
- package/build/lib/ioc/Utils.cjs +35 -0
- package/build/lib/ioc/Utils.d.cts +38 -0
- package/build/lib/ioc/Utils.d.ts +38 -0
- package/build/lib/ioc/Utils.js +6 -0
- package/build/options/ApplicationOptions.cjs +50 -0
- package/build/options/ApplicationOptions.d.cts +20 -0
- package/build/options/ApplicationOptions.d.ts +20 -0
- package/build/options/ApplicationOptions.js +41 -0
- package/build/options/LoadComponentOptions.cjs +50 -0
- package/build/options/LoadComponentOptions.d.cts +22 -0
- package/build/options/LoadComponentOptions.d.ts +22 -0
- package/build/options/LoadComponentOptions.js +41 -0
- package/build/options/LoadEntryClassOptions.cjs +50 -0
- package/build/options/LoadEntryClassOptions.d.cts +16 -0
- package/build/options/LoadEntryClassOptions.d.ts +16 -0
- package/build/options/LoadEntryClassOptions.js +41 -0
- package/build/options/LoadEntryCommonOptions.cjs +27 -0
- package/build/options/LoadEntryCommonOptions.d.cts +13 -0
- package/build/options/LoadEntryCommonOptions.d.ts +13 -0
- package/build/options/LoadEntryCommonOptions.js +18 -0
- package/build/options/LoadModuleOptions.cjs +50 -0
- package/build/options/LoadModuleOptions.d.cts +20 -0
- package/build/options/LoadModuleOptions.d.ts +20 -0
- package/build/options/LoadModuleOptions.js +41 -0
- package/build/options/ModuleOptions.cjs +50 -0
- package/build/options/ModuleOptions.d.cts +20 -0
- package/build/options/ModuleOptions.d.ts +20 -0
- package/build/options/ModuleOptions.js +41 -0
- package/build/types/AsyncFunction.cjs +7 -0
- package/build/types/AsyncFunction.d.cts +3 -0
- package/build/types/AsyncFunction.d.ts +3 -0
- package/build/types/AsyncFunction.js +4 -0
- package/build/types/ControllerActionMapItem.cjs +7 -0
- package/build/types/ControllerActionMapItem.d.cts +20 -0
- package/build/types/ControllerActionMapItem.d.ts +20 -0
- package/build/types/ControllerActionMapItem.js +4 -0
- package/build/types/InjectionProperties.cjs +7 -0
- package/build/types/InjectionProperties.d.cts +3 -0
- package/build/types/InjectionProperties.d.ts +3 -0
- package/build/types/InjectionProperties.js +4 -0
- package/build/types/TimeInput.cjs +7 -0
- package/build/types/TimeInput.d.cts +5 -0
- package/build/types/TimeInput.d.ts +5 -0
- package/build/types/TimeInput.js +4 -0
- package/build/types/TimeObject.cjs +7 -0
- package/build/types/TimeObject.d.cts +11 -0
- package/build/types/TimeObject.d.ts +11 -0
- package/build/types/TimeObject.js +4 -0
- package/build/types/UnitOfTime.cjs +7 -0
- package/build/types/UnitOfTime.d.cts +14 -0
- package/build/types/UnitOfTime.d.ts +14 -0
- package/build/types/UnitOfTime.js +4 -0
- package/package.json +145 -0
|
@@ -0,0 +1,340 @@
|
|
|
1
|
+
import './tests/Test.spec.js';
|
|
2
|
+
import { LifetimeType } from './lib/ioc/Lifetime.js';
|
|
3
|
+
import { InjectionModeType } from './lib/ioc/InjectionMode.js';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* RESOLVER符号可以由通过loadModules加载的模块使用,用于配置它们的生命周期、注入模式等。
|
|
7
|
+
*/
|
|
8
|
+
declare const RESOLVER: unique symbol;
|
|
9
|
+
/**
|
|
10
|
+
* 在传递给容器后,预期RESOLVER返回一个对象,该对象的属性在配置的解析器的构造时可访问。
|
|
11
|
+
* @type {Function}
|
|
12
|
+
*/
|
|
13
|
+
type InjectorFunction = <T extends object>(container: IDependencyInjectionContainer<T>) => object;
|
|
14
|
+
/**
|
|
15
|
+
* asClass()、asFunction()或asValue()返回的解析器对象。
|
|
16
|
+
*/
|
|
17
|
+
interface Resolver<T> extends ResolverOptions<T> {
|
|
18
|
+
resolve<U extends object>(container: IDependencyInjectionContainer<U>): T;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* 由asClass()或asFunction()创建的解析器对象。
|
|
22
|
+
*/
|
|
23
|
+
interface BuildResolver<T> extends Resolver<T>, BuildResolverOptions<T> {
|
|
24
|
+
injectionMode?: InjectionModeType;
|
|
25
|
+
injector?: InjectorFunction;
|
|
26
|
+
setLifetime(lifetime: LifetimeType): this;
|
|
27
|
+
setInjectionMode(mode: InjectionModeType): this;
|
|
28
|
+
singleton(): this;
|
|
29
|
+
scoped(): this;
|
|
30
|
+
transient(): this;
|
|
31
|
+
proxy(): this;
|
|
32
|
+
classic(): this;
|
|
33
|
+
inject(injector: InjectorFunction): this;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* 可供一次性解析器使用的选项。
|
|
37
|
+
*/
|
|
38
|
+
interface DisposableResolverOptions<T> extends ResolverOptions<T> {
|
|
39
|
+
dispose?: Disposer<T>;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* 一次性解析器(Disposable resolver)
|
|
43
|
+
*/
|
|
44
|
+
interface DisposableResolver<T> extends Resolver<T>, DisposableResolverOptions<T> {
|
|
45
|
+
disposer(dispose: Disposer<T>): this;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* 清理函数类型(Disposer function type)。
|
|
49
|
+
*/
|
|
50
|
+
type Disposer<T> = (value: T) => any | Promise<any>;
|
|
51
|
+
/**
|
|
52
|
+
* 在注册类(class)、函数(function)或值(value)时的选项。
|
|
53
|
+
* @type RegistrationOptions
|
|
54
|
+
*/
|
|
55
|
+
interface ResolverOptions<T> {
|
|
56
|
+
/**
|
|
57
|
+
* 仅用于与loadModules一起进行内联配置。
|
|
58
|
+
*/
|
|
59
|
+
name?: string;
|
|
60
|
+
/**
|
|
61
|
+
* 生命周期设置。
|
|
62
|
+
*/
|
|
63
|
+
lifetime?: LifetimeType;
|
|
64
|
+
/**
|
|
65
|
+
* 要使用的注册函数。仅用于与loadModules一起进行内联配置。
|
|
66
|
+
*/
|
|
67
|
+
register?: (...args: any[]) => Resolver<T>;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* 生成器解析器选项(Builder resolver options)。
|
|
71
|
+
*/
|
|
72
|
+
interface BuildResolverOptions<T> extends ResolverOptions<T>, DisposableResolverOptions<T> {
|
|
73
|
+
/**
|
|
74
|
+
* 解析模式(Resolution mode)。
|
|
75
|
+
*/
|
|
76
|
+
injectionMode?: InjectionModeType;
|
|
77
|
+
/**
|
|
78
|
+
* 注入器函数,用于提供额外的参数(Injector function to provide additional parameters)。
|
|
79
|
+
*/
|
|
80
|
+
injector?: InjectorFunction;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* 一个类的构造函数。例如:
|
|
84
|
+
*
|
|
85
|
+
* class MyClass {}
|
|
86
|
+
*
|
|
87
|
+
* container.registerClass('myClass', MyClass)
|
|
88
|
+
* ^^^^^^^
|
|
89
|
+
*/
|
|
90
|
+
type Constructor<T> = {
|
|
91
|
+
new (...args: any[]): T;
|
|
92
|
+
};
|
|
93
|
+
/**
|
|
94
|
+
* 创建一个简单的值解析器,其中给定的值将始终被解析
|
|
95
|
+
* @param value
|
|
96
|
+
*/
|
|
97
|
+
declare function asValue<T>(value: T): Resolver<T>;
|
|
98
|
+
/**
|
|
99
|
+
* 创建一个工厂解析器,当请求时,将使用new调用给定的工厂函数
|
|
100
|
+
* @param fn
|
|
101
|
+
* @param opts
|
|
102
|
+
*/
|
|
103
|
+
declare function asFunction<T>(fn: FunctionReturning<T>, opts?: BuildResolverOptions<T>): BuildResolver<T> & DisposableResolver<T>;
|
|
104
|
+
/**
|
|
105
|
+
* 类似于工厂解析器,但适用于需要 new 的类
|
|
106
|
+
* @param Type
|
|
107
|
+
* @param opts
|
|
108
|
+
*/
|
|
109
|
+
declare function asClass<T = {}>(Type: Constructor<T>, opts?: BuildResolverOptions<T>): BuildResolver<T> & DisposableResolver<T>;
|
|
110
|
+
/**
|
|
111
|
+
* 解析为指定的注册。
|
|
112
|
+
*/
|
|
113
|
+
declare function aliasTo<T>(name: string): Resolver<T>;
|
|
114
|
+
/**
|
|
115
|
+
* 给定一个选项对象,创建一个流式接口以管理它
|
|
116
|
+
* @param obj
|
|
117
|
+
*/
|
|
118
|
+
declare function createBuildResolver<T, B extends Resolver<T>>(obj: B): BuildResolver<T> & B;
|
|
119
|
+
/**
|
|
120
|
+
* 给定一个解析器,返回一个带有方法的对象,用于管理清理函数。
|
|
121
|
+
* @param obj
|
|
122
|
+
*/
|
|
123
|
+
declare function createDisposableResolver<T, B extends Resolver<T>>(obj: B): DisposableResolver<T> & B;
|
|
124
|
+
|
|
125
|
+
/**
|
|
126
|
+
* 调用listModules()时的选项
|
|
127
|
+
* @interface ListModulesOptions
|
|
128
|
+
*/
|
|
129
|
+
interface ListModulesOptions {
|
|
130
|
+
cwd?: string;
|
|
131
|
+
glob?: typeof undefined;
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* 一个包含模块名称和路径(模块的完整路径)的对象
|
|
135
|
+
* @interface ModuleDescriptor
|
|
136
|
+
*/
|
|
137
|
+
interface ModuleDescriptor {
|
|
138
|
+
name: string;
|
|
139
|
+
path: string;
|
|
140
|
+
opts: any;
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* 一个带有关联注册选项的 glob 模式
|
|
144
|
+
*/
|
|
145
|
+
type GlobWithOptions = [string] | [string, BuildResolverOptions<any> | LifetimeType];
|
|
146
|
+
/**
|
|
147
|
+
* 返回一个{name, path}对的列表,其中name是模块名称,path是模块的实际完整路径
|
|
148
|
+
* @param globPatterns
|
|
149
|
+
* @param opts
|
|
150
|
+
*/
|
|
151
|
+
declare function listModules(globPatterns: string | Array<string | GlobWithOptions>, opts?: ListModulesOptions): ModuleDescriptor[];
|
|
152
|
+
|
|
153
|
+
/**
|
|
154
|
+
* 模块的元数据以及加载的模块本身
|
|
155
|
+
* @interface LoadedModuleDescriptor
|
|
156
|
+
*/
|
|
157
|
+
interface LoadedModuleDescriptor extends ModuleDescriptor {
|
|
158
|
+
value: unknown;
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* 调用loadModules()时的选项
|
|
162
|
+
* @interface LoadModulesOptions
|
|
163
|
+
*/
|
|
164
|
+
interface LoadModulesOptions<ESM extends boolean = false> {
|
|
165
|
+
cwd?: string;
|
|
166
|
+
formatName?: NameFormatter | BuiltInNameFormatters;
|
|
167
|
+
resolverOptions?: BuildResolverOptions<any>;
|
|
168
|
+
esModules?: ESM;
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* 在使用loadModules()时,名称格式化的选项
|
|
172
|
+
* @type BuiltInNameFormatters
|
|
173
|
+
*/
|
|
174
|
+
type BuiltInNameFormatters = 'camelCase';
|
|
175
|
+
/**
|
|
176
|
+
* 接受正在加载的模块的文件名和模块描述符,并返回一个字符串,用于在容器中注册模块
|
|
177
|
+
* descriptor.name与name相同
|
|
178
|
+
* @type {NameFormatter}
|
|
179
|
+
*/
|
|
180
|
+
type NameFormatter = (name: string, descriptor: LoadedModuleDescriptor) => string;
|
|
181
|
+
/**
|
|
182
|
+
* loadModules的依赖项
|
|
183
|
+
*/
|
|
184
|
+
interface LoadModulesDeps {
|
|
185
|
+
listModules: typeof listModules;
|
|
186
|
+
container: IDependencyInjectionContainer;
|
|
187
|
+
require(path: string): any | Promise<any>;
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* 加载的模块列表
|
|
191
|
+
*/
|
|
192
|
+
interface LoadModulesResult {
|
|
193
|
+
loadedModules: Array<ModuleDescriptor>;
|
|
194
|
+
}
|
|
195
|
+
declare function loadModules<ESM extends boolean = false>(dependencies: LoadModulesDeps, globPatterns: string | Array<string | GlobWithOptions>, opts?: LoadModulesOptions<ESM>): ESM extends true ? Promise<LoadModulesResult> : LoadModulesResult;
|
|
196
|
+
|
|
197
|
+
/**
|
|
198
|
+
* 从createContainer返回的容器具有一些方法和属性。
|
|
199
|
+
* @interface IDependencyInjectionContainer
|
|
200
|
+
*/
|
|
201
|
+
interface IDependencyInjectionContainer<Cradle extends object = any> {
|
|
202
|
+
/**
|
|
203
|
+
* 容器配置的选项。
|
|
204
|
+
*/
|
|
205
|
+
options: ContainerOptions;
|
|
206
|
+
/**
|
|
207
|
+
* 在使用PROXY注入模式时注入的代理对象。
|
|
208
|
+
* 可以直接使用。
|
|
209
|
+
*/
|
|
210
|
+
readonly cradle: Cradle;
|
|
211
|
+
/**
|
|
212
|
+
* 获取合并容器族谱的注册信息的获取器。
|
|
213
|
+
*/
|
|
214
|
+
readonly registrations: RegistrationHash;
|
|
215
|
+
/**
|
|
216
|
+
* 已解析模块的缓存。
|
|
217
|
+
*/
|
|
218
|
+
readonly cache: Map<string | symbol, CacheEntry>;
|
|
219
|
+
/**
|
|
220
|
+
* 以当前容器为父容器,创建一个作用域容器。
|
|
221
|
+
*/
|
|
222
|
+
createScope<T extends object = {}>(): IDependencyInjectionContainer<Cradle & T>;
|
|
223
|
+
/**
|
|
224
|
+
* Used by `util.inspect`.
|
|
225
|
+
*/
|
|
226
|
+
inspect(depth: number, opts?: any): string;
|
|
227
|
+
/**
|
|
228
|
+
* 将lib/loadModules绑定到当前容器,并提供它所依赖的实际实现。
|
|
229
|
+
* 此外,将解析使用dependsOn API的任何模块。
|
|
230
|
+
*/
|
|
231
|
+
loadModules<ESM extends boolean = false>(globPatterns: Array<string | GlobWithOptions>, options?: LoadModulesOptions<ESM>): ESM extends false ? this : Promise<this>;
|
|
232
|
+
/**
|
|
233
|
+
* 添加一个单独的注册,使用预先构建的解析器。
|
|
234
|
+
*/
|
|
235
|
+
register<T>(name: string | symbol, registration: Resolver<T>): this;
|
|
236
|
+
/**
|
|
237
|
+
* 将解析器与注册名称配对并进行注册。
|
|
238
|
+
*/
|
|
239
|
+
register(nameAndRegistrationPair: NameAndRegistrationPair<Cradle>): this;
|
|
240
|
+
/**
|
|
241
|
+
* 解析具有给定名称的注册
|
|
242
|
+
* @param name
|
|
243
|
+
* @param resolveOptions
|
|
244
|
+
*/
|
|
245
|
+
resolve<K extends keyof Cradle>(name: K, resolveOptions?: ResolveOptions): Cradle[K];
|
|
246
|
+
/**
|
|
247
|
+
* 解析具有给定名称的注册
|
|
248
|
+
* @param name
|
|
249
|
+
* @param resolveOptions
|
|
250
|
+
*/
|
|
251
|
+
resolve<T>(name: string | symbol, resolveOptions?: ResolveOptions): T;
|
|
252
|
+
/**
|
|
253
|
+
* 检查具有给定名称的注册是否存在
|
|
254
|
+
* @param name
|
|
255
|
+
*/
|
|
256
|
+
hasRegistration(name: string | symbol): boolean;
|
|
257
|
+
/**
|
|
258
|
+
* 递归地通过名称获取注册(如果存在于当前容器或其任何父容器中)
|
|
259
|
+
* @param name
|
|
260
|
+
*/
|
|
261
|
+
getRegistration<K extends keyof Cradle>(name: K): Resolver<Cradle[K]> | null;
|
|
262
|
+
/**
|
|
263
|
+
* 如果当前容器或其任何父容器中存在具有指定名称的注册,则递归获取该注册
|
|
264
|
+
* @param name
|
|
265
|
+
*/
|
|
266
|
+
getRegistration<T = unknown>(name: string | symbol): Resolver<T> | null;
|
|
267
|
+
/**
|
|
268
|
+
* 给定一个解析器、类或函数,构建它并返回
|
|
269
|
+
* 不缓存它,这意味着如果传递了一个解析器,那么不会使用任何在生命周期中配置的设置
|
|
270
|
+
* @param targetOrResolver
|
|
271
|
+
* @param opts
|
|
272
|
+
*/
|
|
273
|
+
build<T>(targetOrResolver: ClassOrFunctionReturning<T> | Resolver<T>, opts?: BuildResolverOptions<T>): T;
|
|
274
|
+
/**
|
|
275
|
+
* 销毁该容器及其子容器,对所有可释放的注册进行清理并清除缓存
|
|
276
|
+
* 仅适用于具有SCOPED或SINGLETON生命周期的注册
|
|
277
|
+
*/
|
|
278
|
+
dispose(): Promise<void>;
|
|
279
|
+
}
|
|
280
|
+
/**
|
|
281
|
+
* 可选的解析选项。
|
|
282
|
+
*/
|
|
283
|
+
interface ResolveOptions {
|
|
284
|
+
/**
|
|
285
|
+
* 如果设置为true,并且resolve无法找到请求的依赖项,则返回undefined而不是抛出错误。
|
|
286
|
+
*/
|
|
287
|
+
allowUnregistered?: boolean;
|
|
288
|
+
}
|
|
289
|
+
/**
|
|
290
|
+
* 缓存条目。
|
|
291
|
+
*/
|
|
292
|
+
interface CacheEntry<T = any> {
|
|
293
|
+
/**
|
|
294
|
+
* 解析值的解析器。
|
|
295
|
+
*/
|
|
296
|
+
resolver: Resolver<T>;
|
|
297
|
+
/**
|
|
298
|
+
* 解析的值。
|
|
299
|
+
*/
|
|
300
|
+
value: T;
|
|
301
|
+
}
|
|
302
|
+
/**
|
|
303
|
+
* 注册一个注册项。
|
|
304
|
+
* @interface NameAndRegistrationPair
|
|
305
|
+
*/
|
|
306
|
+
type NameAndRegistrationPair<T> = {
|
|
307
|
+
[U in keyof T]?: Resolver<T[U]>;
|
|
308
|
+
};
|
|
309
|
+
/**
|
|
310
|
+
* 返回类型为 T 的函数。
|
|
311
|
+
*/
|
|
312
|
+
type FunctionReturning<T> = (...args: Array<any>) => T;
|
|
313
|
+
/**
|
|
314
|
+
* 返回 T 的类或函数。
|
|
315
|
+
*/
|
|
316
|
+
type ClassOrFunctionReturning<T> = FunctionReturning<T> | Constructor<T>;
|
|
317
|
+
/**
|
|
318
|
+
* createContainer 函数的选项。
|
|
319
|
+
*/
|
|
320
|
+
interface ContainerOptions {
|
|
321
|
+
require?: (id: string) => any;
|
|
322
|
+
injectionMode?: InjectionModeType;
|
|
323
|
+
}
|
|
324
|
+
/**
|
|
325
|
+
* 包含注册项的散列,其中名称是键。
|
|
326
|
+
*/
|
|
327
|
+
type RegistrationHash = Record<string | symbol | number, Resolver<any>>;
|
|
328
|
+
/**
|
|
329
|
+
* 解析堆栈。
|
|
330
|
+
*/
|
|
331
|
+
interface ResolutionStack extends Array<string | symbol> {
|
|
332
|
+
}
|
|
333
|
+
/**
|
|
334
|
+
* 创建一个依赖注入容器实例
|
|
335
|
+
* @param options
|
|
336
|
+
* @param parentContainer
|
|
337
|
+
*/
|
|
338
|
+
declare function createContainer<T extends object = any, U extends object = any>(options?: ContainerOptions, parentContainer?: IDependencyInjectionContainer<U>): IDependencyInjectionContainer<T>;
|
|
339
|
+
|
|
340
|
+
export { createContainer as A, BuildResolver as B, Constructor as C, DisposableResolverOptions as D, FunctionReturning as F, GlobWithOptions as G, IDependencyInjectionContainer as I, ListModulesOptions as L, ModuleDescriptor as M, NameAndRegistrationPair as N, ResolutionStack as R, RESOLVER as a, InjectorFunction as b, Resolver as c, DisposableResolver as d, Disposer as e, ResolverOptions as f, BuildResolverOptions as g, asValue as h, asFunction as i, asClass as j, aliasTo as k, createBuildResolver as l, createDisposableResolver as m, listModules as n, LoadedModuleDescriptor as o, LoadModulesOptions as p, BuiltInNameFormatters as q, NameFormatter as r, LoadModulesDeps as s, LoadModulesResult as t, loadModules as u, ResolveOptions as v, CacheEntry as w, ClassOrFunctionReturning as x, ContainerOptions as y, RegistrationHash as z };
|
|
@@ -0,0 +1,340 @@
|
|
|
1
|
+
import './tests/Test.spec.cjs';
|
|
2
|
+
import { LifetimeType } from './lib/ioc/Lifetime.cjs';
|
|
3
|
+
import { InjectionModeType } from './lib/ioc/InjectionMode.cjs';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* RESOLVER符号可以由通过loadModules加载的模块使用,用于配置它们的生命周期、注入模式等。
|
|
7
|
+
*/
|
|
8
|
+
declare const RESOLVER: unique symbol;
|
|
9
|
+
/**
|
|
10
|
+
* 在传递给容器后,预期RESOLVER返回一个对象,该对象的属性在配置的解析器的构造时可访问。
|
|
11
|
+
* @type {Function}
|
|
12
|
+
*/
|
|
13
|
+
type InjectorFunction = <T extends object>(container: IDependencyInjectionContainer<T>) => object;
|
|
14
|
+
/**
|
|
15
|
+
* asClass()、asFunction()或asValue()返回的解析器对象。
|
|
16
|
+
*/
|
|
17
|
+
interface Resolver<T> extends ResolverOptions<T> {
|
|
18
|
+
resolve<U extends object>(container: IDependencyInjectionContainer<U>): T;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* 由asClass()或asFunction()创建的解析器对象。
|
|
22
|
+
*/
|
|
23
|
+
interface BuildResolver<T> extends Resolver<T>, BuildResolverOptions<T> {
|
|
24
|
+
injectionMode?: InjectionModeType;
|
|
25
|
+
injector?: InjectorFunction;
|
|
26
|
+
setLifetime(lifetime: LifetimeType): this;
|
|
27
|
+
setInjectionMode(mode: InjectionModeType): this;
|
|
28
|
+
singleton(): this;
|
|
29
|
+
scoped(): this;
|
|
30
|
+
transient(): this;
|
|
31
|
+
proxy(): this;
|
|
32
|
+
classic(): this;
|
|
33
|
+
inject(injector: InjectorFunction): this;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* 可供一次性解析器使用的选项。
|
|
37
|
+
*/
|
|
38
|
+
interface DisposableResolverOptions<T> extends ResolverOptions<T> {
|
|
39
|
+
dispose?: Disposer<T>;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* 一次性解析器(Disposable resolver)
|
|
43
|
+
*/
|
|
44
|
+
interface DisposableResolver<T> extends Resolver<T>, DisposableResolverOptions<T> {
|
|
45
|
+
disposer(dispose: Disposer<T>): this;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* 清理函数类型(Disposer function type)。
|
|
49
|
+
*/
|
|
50
|
+
type Disposer<T> = (value: T) => any | Promise<any>;
|
|
51
|
+
/**
|
|
52
|
+
* 在注册类(class)、函数(function)或值(value)时的选项。
|
|
53
|
+
* @type RegistrationOptions
|
|
54
|
+
*/
|
|
55
|
+
interface ResolverOptions<T> {
|
|
56
|
+
/**
|
|
57
|
+
* 仅用于与loadModules一起进行内联配置。
|
|
58
|
+
*/
|
|
59
|
+
name?: string;
|
|
60
|
+
/**
|
|
61
|
+
* 生命周期设置。
|
|
62
|
+
*/
|
|
63
|
+
lifetime?: LifetimeType;
|
|
64
|
+
/**
|
|
65
|
+
* 要使用的注册函数。仅用于与loadModules一起进行内联配置。
|
|
66
|
+
*/
|
|
67
|
+
register?: (...args: any[]) => Resolver<T>;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* 生成器解析器选项(Builder resolver options)。
|
|
71
|
+
*/
|
|
72
|
+
interface BuildResolverOptions<T> extends ResolverOptions<T>, DisposableResolverOptions<T> {
|
|
73
|
+
/**
|
|
74
|
+
* 解析模式(Resolution mode)。
|
|
75
|
+
*/
|
|
76
|
+
injectionMode?: InjectionModeType;
|
|
77
|
+
/**
|
|
78
|
+
* 注入器函数,用于提供额外的参数(Injector function to provide additional parameters)。
|
|
79
|
+
*/
|
|
80
|
+
injector?: InjectorFunction;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* 一个类的构造函数。例如:
|
|
84
|
+
*
|
|
85
|
+
* class MyClass {}
|
|
86
|
+
*
|
|
87
|
+
* container.registerClass('myClass', MyClass)
|
|
88
|
+
* ^^^^^^^
|
|
89
|
+
*/
|
|
90
|
+
type Constructor<T> = {
|
|
91
|
+
new (...args: any[]): T;
|
|
92
|
+
};
|
|
93
|
+
/**
|
|
94
|
+
* 创建一个简单的值解析器,其中给定的值将始终被解析
|
|
95
|
+
* @param value
|
|
96
|
+
*/
|
|
97
|
+
declare function asValue<T>(value: T): Resolver<T>;
|
|
98
|
+
/**
|
|
99
|
+
* 创建一个工厂解析器,当请求时,将使用new调用给定的工厂函数
|
|
100
|
+
* @param fn
|
|
101
|
+
* @param opts
|
|
102
|
+
*/
|
|
103
|
+
declare function asFunction<T>(fn: FunctionReturning<T>, opts?: BuildResolverOptions<T>): BuildResolver<T> & DisposableResolver<T>;
|
|
104
|
+
/**
|
|
105
|
+
* 类似于工厂解析器,但适用于需要 new 的类
|
|
106
|
+
* @param Type
|
|
107
|
+
* @param opts
|
|
108
|
+
*/
|
|
109
|
+
declare function asClass<T = {}>(Type: Constructor<T>, opts?: BuildResolverOptions<T>): BuildResolver<T> & DisposableResolver<T>;
|
|
110
|
+
/**
|
|
111
|
+
* 解析为指定的注册。
|
|
112
|
+
*/
|
|
113
|
+
declare function aliasTo<T>(name: string): Resolver<T>;
|
|
114
|
+
/**
|
|
115
|
+
* 给定一个选项对象,创建一个流式接口以管理它
|
|
116
|
+
* @param obj
|
|
117
|
+
*/
|
|
118
|
+
declare function createBuildResolver<T, B extends Resolver<T>>(obj: B): BuildResolver<T> & B;
|
|
119
|
+
/**
|
|
120
|
+
* 给定一个解析器,返回一个带有方法的对象,用于管理清理函数。
|
|
121
|
+
* @param obj
|
|
122
|
+
*/
|
|
123
|
+
declare function createDisposableResolver<T, B extends Resolver<T>>(obj: B): DisposableResolver<T> & B;
|
|
124
|
+
|
|
125
|
+
/**
|
|
126
|
+
* 调用listModules()时的选项
|
|
127
|
+
* @interface ListModulesOptions
|
|
128
|
+
*/
|
|
129
|
+
interface ListModulesOptions {
|
|
130
|
+
cwd?: string;
|
|
131
|
+
glob?: typeof undefined;
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* 一个包含模块名称和路径(模块的完整路径)的对象
|
|
135
|
+
* @interface ModuleDescriptor
|
|
136
|
+
*/
|
|
137
|
+
interface ModuleDescriptor {
|
|
138
|
+
name: string;
|
|
139
|
+
path: string;
|
|
140
|
+
opts: any;
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* 一个带有关联注册选项的 glob 模式
|
|
144
|
+
*/
|
|
145
|
+
type GlobWithOptions = [string] | [string, BuildResolverOptions<any> | LifetimeType];
|
|
146
|
+
/**
|
|
147
|
+
* 返回一个{name, path}对的列表,其中name是模块名称,path是模块的实际完整路径
|
|
148
|
+
* @param globPatterns
|
|
149
|
+
* @param opts
|
|
150
|
+
*/
|
|
151
|
+
declare function listModules(globPatterns: string | Array<string | GlobWithOptions>, opts?: ListModulesOptions): ModuleDescriptor[];
|
|
152
|
+
|
|
153
|
+
/**
|
|
154
|
+
* 模块的元数据以及加载的模块本身
|
|
155
|
+
* @interface LoadedModuleDescriptor
|
|
156
|
+
*/
|
|
157
|
+
interface LoadedModuleDescriptor extends ModuleDescriptor {
|
|
158
|
+
value: unknown;
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* 调用loadModules()时的选项
|
|
162
|
+
* @interface LoadModulesOptions
|
|
163
|
+
*/
|
|
164
|
+
interface LoadModulesOptions<ESM extends boolean = false> {
|
|
165
|
+
cwd?: string;
|
|
166
|
+
formatName?: NameFormatter | BuiltInNameFormatters;
|
|
167
|
+
resolverOptions?: BuildResolverOptions<any>;
|
|
168
|
+
esModules?: ESM;
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* 在使用loadModules()时,名称格式化的选项
|
|
172
|
+
* @type BuiltInNameFormatters
|
|
173
|
+
*/
|
|
174
|
+
type BuiltInNameFormatters = 'camelCase';
|
|
175
|
+
/**
|
|
176
|
+
* 接受正在加载的模块的文件名和模块描述符,并返回一个字符串,用于在容器中注册模块
|
|
177
|
+
* descriptor.name与name相同
|
|
178
|
+
* @type {NameFormatter}
|
|
179
|
+
*/
|
|
180
|
+
type NameFormatter = (name: string, descriptor: LoadedModuleDescriptor) => string;
|
|
181
|
+
/**
|
|
182
|
+
* loadModules的依赖项
|
|
183
|
+
*/
|
|
184
|
+
interface LoadModulesDeps {
|
|
185
|
+
listModules: typeof listModules;
|
|
186
|
+
container: IDependencyInjectionContainer;
|
|
187
|
+
require(path: string): any | Promise<any>;
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* 加载的模块列表
|
|
191
|
+
*/
|
|
192
|
+
interface LoadModulesResult {
|
|
193
|
+
loadedModules: Array<ModuleDescriptor>;
|
|
194
|
+
}
|
|
195
|
+
declare function loadModules<ESM extends boolean = false>(dependencies: LoadModulesDeps, globPatterns: string | Array<string | GlobWithOptions>, opts?: LoadModulesOptions<ESM>): ESM extends true ? Promise<LoadModulesResult> : LoadModulesResult;
|
|
196
|
+
|
|
197
|
+
/**
|
|
198
|
+
* 从createContainer返回的容器具有一些方法和属性。
|
|
199
|
+
* @interface IDependencyInjectionContainer
|
|
200
|
+
*/
|
|
201
|
+
interface IDependencyInjectionContainer<Cradle extends object = any> {
|
|
202
|
+
/**
|
|
203
|
+
* 容器配置的选项。
|
|
204
|
+
*/
|
|
205
|
+
options: ContainerOptions;
|
|
206
|
+
/**
|
|
207
|
+
* 在使用PROXY注入模式时注入的代理对象。
|
|
208
|
+
* 可以直接使用。
|
|
209
|
+
*/
|
|
210
|
+
readonly cradle: Cradle;
|
|
211
|
+
/**
|
|
212
|
+
* 获取合并容器族谱的注册信息的获取器。
|
|
213
|
+
*/
|
|
214
|
+
readonly registrations: RegistrationHash;
|
|
215
|
+
/**
|
|
216
|
+
* 已解析模块的缓存。
|
|
217
|
+
*/
|
|
218
|
+
readonly cache: Map<string | symbol, CacheEntry>;
|
|
219
|
+
/**
|
|
220
|
+
* 以当前容器为父容器,创建一个作用域容器。
|
|
221
|
+
*/
|
|
222
|
+
createScope<T extends object = {}>(): IDependencyInjectionContainer<Cradle & T>;
|
|
223
|
+
/**
|
|
224
|
+
* Used by `util.inspect`.
|
|
225
|
+
*/
|
|
226
|
+
inspect(depth: number, opts?: any): string;
|
|
227
|
+
/**
|
|
228
|
+
* 将lib/loadModules绑定到当前容器,并提供它所依赖的实际实现。
|
|
229
|
+
* 此外,将解析使用dependsOn API的任何模块。
|
|
230
|
+
*/
|
|
231
|
+
loadModules<ESM extends boolean = false>(globPatterns: Array<string | GlobWithOptions>, options?: LoadModulesOptions<ESM>): ESM extends false ? this : Promise<this>;
|
|
232
|
+
/**
|
|
233
|
+
* 添加一个单独的注册,使用预先构建的解析器。
|
|
234
|
+
*/
|
|
235
|
+
register<T>(name: string | symbol, registration: Resolver<T>): this;
|
|
236
|
+
/**
|
|
237
|
+
* 将解析器与注册名称配对并进行注册。
|
|
238
|
+
*/
|
|
239
|
+
register(nameAndRegistrationPair: NameAndRegistrationPair<Cradle>): this;
|
|
240
|
+
/**
|
|
241
|
+
* 解析具有给定名称的注册
|
|
242
|
+
* @param name
|
|
243
|
+
* @param resolveOptions
|
|
244
|
+
*/
|
|
245
|
+
resolve<K extends keyof Cradle>(name: K, resolveOptions?: ResolveOptions): Cradle[K];
|
|
246
|
+
/**
|
|
247
|
+
* 解析具有给定名称的注册
|
|
248
|
+
* @param name
|
|
249
|
+
* @param resolveOptions
|
|
250
|
+
*/
|
|
251
|
+
resolve<T>(name: string | symbol, resolveOptions?: ResolveOptions): T;
|
|
252
|
+
/**
|
|
253
|
+
* 检查具有给定名称的注册是否存在
|
|
254
|
+
* @param name
|
|
255
|
+
*/
|
|
256
|
+
hasRegistration(name: string | symbol): boolean;
|
|
257
|
+
/**
|
|
258
|
+
* 递归地通过名称获取注册(如果存在于当前容器或其任何父容器中)
|
|
259
|
+
* @param name
|
|
260
|
+
*/
|
|
261
|
+
getRegistration<K extends keyof Cradle>(name: K): Resolver<Cradle[K]> | null;
|
|
262
|
+
/**
|
|
263
|
+
* 如果当前容器或其任何父容器中存在具有指定名称的注册,则递归获取该注册
|
|
264
|
+
* @param name
|
|
265
|
+
*/
|
|
266
|
+
getRegistration<T = unknown>(name: string | symbol): Resolver<T> | null;
|
|
267
|
+
/**
|
|
268
|
+
* 给定一个解析器、类或函数,构建它并返回
|
|
269
|
+
* 不缓存它,这意味着如果传递了一个解析器,那么不会使用任何在生命周期中配置的设置
|
|
270
|
+
* @param targetOrResolver
|
|
271
|
+
* @param opts
|
|
272
|
+
*/
|
|
273
|
+
build<T>(targetOrResolver: ClassOrFunctionReturning<T> | Resolver<T>, opts?: BuildResolverOptions<T>): T;
|
|
274
|
+
/**
|
|
275
|
+
* 销毁该容器及其子容器,对所有可释放的注册进行清理并清除缓存
|
|
276
|
+
* 仅适用于具有SCOPED或SINGLETON生命周期的注册
|
|
277
|
+
*/
|
|
278
|
+
dispose(): Promise<void>;
|
|
279
|
+
}
|
|
280
|
+
/**
|
|
281
|
+
* 可选的解析选项。
|
|
282
|
+
*/
|
|
283
|
+
interface ResolveOptions {
|
|
284
|
+
/**
|
|
285
|
+
* 如果设置为true,并且resolve无法找到请求的依赖项,则返回undefined而不是抛出错误。
|
|
286
|
+
*/
|
|
287
|
+
allowUnregistered?: boolean;
|
|
288
|
+
}
|
|
289
|
+
/**
|
|
290
|
+
* 缓存条目。
|
|
291
|
+
*/
|
|
292
|
+
interface CacheEntry<T = any> {
|
|
293
|
+
/**
|
|
294
|
+
* 解析值的解析器。
|
|
295
|
+
*/
|
|
296
|
+
resolver: Resolver<T>;
|
|
297
|
+
/**
|
|
298
|
+
* 解析的值。
|
|
299
|
+
*/
|
|
300
|
+
value: T;
|
|
301
|
+
}
|
|
302
|
+
/**
|
|
303
|
+
* 注册一个注册项。
|
|
304
|
+
* @interface NameAndRegistrationPair
|
|
305
|
+
*/
|
|
306
|
+
type NameAndRegistrationPair<T> = {
|
|
307
|
+
[U in keyof T]?: Resolver<T[U]>;
|
|
308
|
+
};
|
|
309
|
+
/**
|
|
310
|
+
* 返回类型为 T 的函数。
|
|
311
|
+
*/
|
|
312
|
+
type FunctionReturning<T> = (...args: Array<any>) => T;
|
|
313
|
+
/**
|
|
314
|
+
* 返回 T 的类或函数。
|
|
315
|
+
*/
|
|
316
|
+
type ClassOrFunctionReturning<T> = FunctionReturning<T> | Constructor<T>;
|
|
317
|
+
/**
|
|
318
|
+
* createContainer 函数的选项。
|
|
319
|
+
*/
|
|
320
|
+
interface ContainerOptions {
|
|
321
|
+
require?: (id: string) => any;
|
|
322
|
+
injectionMode?: InjectionModeType;
|
|
323
|
+
}
|
|
324
|
+
/**
|
|
325
|
+
* 包含注册项的散列,其中名称是键。
|
|
326
|
+
*/
|
|
327
|
+
type RegistrationHash = Record<string | symbol | number, Resolver<any>>;
|
|
328
|
+
/**
|
|
329
|
+
* 解析堆栈。
|
|
330
|
+
*/
|
|
331
|
+
interface ResolutionStack extends Array<string | symbol> {
|
|
332
|
+
}
|
|
333
|
+
/**
|
|
334
|
+
* 创建一个依赖注入容器实例
|
|
335
|
+
* @param options
|
|
336
|
+
* @param parentContainer
|
|
337
|
+
*/
|
|
338
|
+
declare function createContainer<T extends object = any, U extends object = any>(options?: ContainerOptions, parentContainer?: IDependencyInjectionContainer<U>): IDependencyInjectionContainer<T>;
|
|
339
|
+
|
|
340
|
+
export { createContainer as A, BuildResolver as B, Constructor as C, DisposableResolverOptions as D, FunctionReturning as F, GlobWithOptions as G, IDependencyInjectionContainer as I, ListModulesOptions as L, ModuleDescriptor as M, NameAndRegistrationPair as N, ResolutionStack as R, RESOLVER as a, InjectorFunction as b, Resolver as c, DisposableResolver as d, Disposer as e, ResolverOptions as f, BuildResolverOptions as g, asValue as h, asFunction as i, asClass as j, aliasTo as k, createBuildResolver as l, createDisposableResolver as m, listModules as n, LoadedModuleDescriptor as o, LoadModulesOptions as p, BuiltInNameFormatters as q, NameFormatter as r, LoadModulesDeps as s, LoadModulesResult as t, loadModules as u, ResolveOptions as v, CacheEntry as w, ClassOrFunctionReturning as x, ContainerOptions as y, RegistrationHash as z };
|