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,266 @@
|
|
|
1
|
+
import { listModules } from './chunk-4G2ZCUBN.js';
|
|
2
|
+
import { importModule } from './chunk-K2ALA7QI.js';
|
|
3
|
+
import { loadModules } from './chunk-OIFILR4I.js';
|
|
4
|
+
import { asClass, asFunction } from './chunk-LBL5XNWX.js';
|
|
5
|
+
import { last, nameValueToObject, isClass } from './chunk-O2NOYN65.js';
|
|
6
|
+
import { DependencyInjectionResolutionError, DependencyInjectionTypeError } from './chunk-YEBPQG7X.js';
|
|
7
|
+
import { InjectionMode } from './chunk-EYPPC6HP.js';
|
|
8
|
+
import { Lifetime } from './chunk-MEKICSEL.js';
|
|
9
|
+
import { DI_CONTAINER_CREATOR_CONSTRUCTOR, DI_TARGET_CONSTRUCTOR_CONFIGURABLE_OBJECT_NAME } from './chunk-4OHSPWRQ.js';
|
|
10
|
+
import { init_esm_shims, __name, __require } from './chunk-5NK7E2HA.js';
|
|
11
|
+
import * as util from 'util';
|
|
12
|
+
|
|
13
|
+
// src/lib/ioc/DependencyInjectionContainer.ts
|
|
14
|
+
init_esm_shims();
|
|
15
|
+
var FAMILY_TREE = Symbol("familyTree");
|
|
16
|
+
var ROLL_UP_REGISTRATIONS = Symbol("rollUpRegistrations");
|
|
17
|
+
var CRADLE_STRING_TAG = "DependencyInjectionContainerCradle";
|
|
18
|
+
function createContainer(options, parentContainer) {
|
|
19
|
+
options = {
|
|
20
|
+
injectionMode: InjectionMode.PROXY,
|
|
21
|
+
...options
|
|
22
|
+
};
|
|
23
|
+
let resolutionStack = [];
|
|
24
|
+
const registrations = {};
|
|
25
|
+
const cradle = new Proxy(
|
|
26
|
+
{
|
|
27
|
+
[util.inspect.custom]: toStringRepresentationFn
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
/**
|
|
31
|
+
* 当进行container.cradle.*的get调用时,会调用get处理程序
|
|
32
|
+
* @param _target
|
|
33
|
+
* @param name
|
|
34
|
+
*/
|
|
35
|
+
get: (_target, name) => resolve(name),
|
|
36
|
+
/**
|
|
37
|
+
* 在cradle上设置内容会抛出错误
|
|
38
|
+
* @param _target
|
|
39
|
+
* @param name
|
|
40
|
+
*/
|
|
41
|
+
set: (_target, name) => {
|
|
42
|
+
throw new Error(
|
|
43
|
+
`Attempted setting property "${name}" on container cradle - this is not allowed.`
|
|
44
|
+
);
|
|
45
|
+
},
|
|
46
|
+
/**
|
|
47
|
+
* Used for `Object.keys`.
|
|
48
|
+
*/
|
|
49
|
+
ownKeys() {
|
|
50
|
+
return Array.from(cradle);
|
|
51
|
+
},
|
|
52
|
+
/**
|
|
53
|
+
* Used for `Object.keys`.
|
|
54
|
+
*/
|
|
55
|
+
getOwnPropertyDescriptor(target, key) {
|
|
56
|
+
const regs = rollUpRegistrations();
|
|
57
|
+
if (Object.getOwnPropertyDescriptor(regs, key))
|
|
58
|
+
return {
|
|
59
|
+
enumerable: true,
|
|
60
|
+
configurable: true
|
|
61
|
+
};
|
|
62
|
+
return void 0;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
);
|
|
66
|
+
const container = {
|
|
67
|
+
options,
|
|
68
|
+
cradle,
|
|
69
|
+
inspect: inspect2,
|
|
70
|
+
cache: /* @__PURE__ */ new Map(),
|
|
71
|
+
loadModules: loadModules2,
|
|
72
|
+
createScope,
|
|
73
|
+
register,
|
|
74
|
+
build,
|
|
75
|
+
resolve,
|
|
76
|
+
hasRegistration,
|
|
77
|
+
dispose,
|
|
78
|
+
getRegistration,
|
|
79
|
+
[util.inspect.custom]: inspect2,
|
|
80
|
+
// tslint:disable-next-line
|
|
81
|
+
[ROLL_UP_REGISTRATIONS]: rollUpRegistrations,
|
|
82
|
+
get registrations() {
|
|
83
|
+
return rollUpRegistrations();
|
|
84
|
+
}
|
|
85
|
+
};
|
|
86
|
+
const familyTree = parentContainer ? [container].concat(parentContainer[FAMILY_TREE]) : [container];
|
|
87
|
+
container[FAMILY_TREE] = familyTree;
|
|
88
|
+
const rootContainer = last(familyTree);
|
|
89
|
+
return container;
|
|
90
|
+
function inspect2() {
|
|
91
|
+
return `[DependencyInjectionContainer (${parentContainer ? "scoped, " : ""}registrations: ${Object.keys(container.registrations).length})]`;
|
|
92
|
+
}
|
|
93
|
+
function rollUpRegistrations() {
|
|
94
|
+
return {
|
|
95
|
+
...parentContainer && parentContainer[ROLL_UP_REGISTRATIONS](),
|
|
96
|
+
...registrations
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
function* cradleIterator() {
|
|
100
|
+
const registrations2 = rollUpRegistrations();
|
|
101
|
+
for (const registrationName in registrations2) {
|
|
102
|
+
yield registrationName;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
function createScope() {
|
|
106
|
+
return createContainer(options, container);
|
|
107
|
+
}
|
|
108
|
+
function register(arg1, arg2) {
|
|
109
|
+
const obj = nameValueToObject(arg1, arg2);
|
|
110
|
+
const keys = [...Object.keys(obj), ...Object.getOwnPropertySymbols(obj)];
|
|
111
|
+
for (const key of keys) {
|
|
112
|
+
const value = obj[key];
|
|
113
|
+
registrations[key] = value;
|
|
114
|
+
}
|
|
115
|
+
return container;
|
|
116
|
+
}
|
|
117
|
+
function toStringRepresentationFn() {
|
|
118
|
+
return Object.prototype.toString.call(cradle);
|
|
119
|
+
}
|
|
120
|
+
function getRegistration(name) {
|
|
121
|
+
const resolver = registrations[name];
|
|
122
|
+
if (resolver)
|
|
123
|
+
return resolver;
|
|
124
|
+
if (parentContainer)
|
|
125
|
+
return parentContainer.getRegistration(name);
|
|
126
|
+
return null;
|
|
127
|
+
}
|
|
128
|
+
function resolve(name, resolveOpts) {
|
|
129
|
+
resolveOpts = resolveOpts || {};
|
|
130
|
+
try {
|
|
131
|
+
const resolver = getRegistration(name);
|
|
132
|
+
if (resolutionStack.indexOf(name) > -1) {
|
|
133
|
+
throw new DependencyInjectionResolutionError(
|
|
134
|
+
name,
|
|
135
|
+
resolutionStack,
|
|
136
|
+
"Cyclic dependencies detected."
|
|
137
|
+
);
|
|
138
|
+
}
|
|
139
|
+
if (name === "toJSON")
|
|
140
|
+
return toStringRepresentationFn;
|
|
141
|
+
if (name === "constructor")
|
|
142
|
+
return createContainer;
|
|
143
|
+
if (!resolver) {
|
|
144
|
+
switch (name) {
|
|
145
|
+
case util.inspect.custom:
|
|
146
|
+
case "inspect":
|
|
147
|
+
case "toString":
|
|
148
|
+
return toStringRepresentationFn;
|
|
149
|
+
case Symbol.toStringTag:
|
|
150
|
+
return CRADLE_STRING_TAG;
|
|
151
|
+
case "then":
|
|
152
|
+
return void 0;
|
|
153
|
+
case Symbol.iterator:
|
|
154
|
+
return cradleIterator;
|
|
155
|
+
}
|
|
156
|
+
if (resolveOpts.allowUnregistered) {
|
|
157
|
+
return void 0;
|
|
158
|
+
}
|
|
159
|
+
throw new DependencyInjectionResolutionError(name, resolutionStack);
|
|
160
|
+
}
|
|
161
|
+
resolutionStack.push(name);
|
|
162
|
+
let cached;
|
|
163
|
+
let resolved;
|
|
164
|
+
switch (resolver.lifetime || Lifetime.TRANSIENT) {
|
|
165
|
+
case Lifetime.TRANSIENT:
|
|
166
|
+
resolved = resolver.resolve(container);
|
|
167
|
+
break;
|
|
168
|
+
case Lifetime.SINGLETON:
|
|
169
|
+
cached = rootContainer.cache.get(name);
|
|
170
|
+
if (!cached) {
|
|
171
|
+
resolved = resolver.resolve(container);
|
|
172
|
+
rootContainer.cache.set(name, { resolver, value: resolved });
|
|
173
|
+
} else {
|
|
174
|
+
resolved = cached.value;
|
|
175
|
+
}
|
|
176
|
+
break;
|
|
177
|
+
case Lifetime.SCOPED:
|
|
178
|
+
cached = container.cache.get(name);
|
|
179
|
+
if (cached !== void 0) {
|
|
180
|
+
resolved = cached.value;
|
|
181
|
+
break;
|
|
182
|
+
}
|
|
183
|
+
resolved = resolver.resolve(container);
|
|
184
|
+
container.cache.set(name, { resolver, value: resolved });
|
|
185
|
+
break;
|
|
186
|
+
default:
|
|
187
|
+
throw new DependencyInjectionResolutionError(
|
|
188
|
+
name,
|
|
189
|
+
resolutionStack,
|
|
190
|
+
`Unknown lifetime "${resolver.lifetime}"`
|
|
191
|
+
);
|
|
192
|
+
}
|
|
193
|
+
resolutionStack.pop();
|
|
194
|
+
if ((typeof resolved === "object" || typeof resolved === "function") && !Reflect.hasOwnMetadata(DI_TARGET_CONSTRUCTOR_CONFIGURABLE_OBJECT_NAME, resolved))
|
|
195
|
+
Reflect.defineMetadata(DI_TARGET_CONSTRUCTOR_CONFIGURABLE_OBJECT_NAME, name, resolved);
|
|
196
|
+
return resolved;
|
|
197
|
+
} catch (err) {
|
|
198
|
+
resolutionStack = [];
|
|
199
|
+
throw err;
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
function hasRegistration(name) {
|
|
203
|
+
return !!getRegistration(name);
|
|
204
|
+
}
|
|
205
|
+
function build(targetOrResolver, opts) {
|
|
206
|
+
if (targetOrResolver && targetOrResolver.resolve)
|
|
207
|
+
return targetOrResolver.resolve(container);
|
|
208
|
+
const funcName = "build";
|
|
209
|
+
const paramName = "targetOrResolver";
|
|
210
|
+
DependencyInjectionTypeError.assert(
|
|
211
|
+
targetOrResolver,
|
|
212
|
+
funcName,
|
|
213
|
+
paramName,
|
|
214
|
+
"a registration, function or class",
|
|
215
|
+
targetOrResolver
|
|
216
|
+
);
|
|
217
|
+
DependencyInjectionTypeError.assert(
|
|
218
|
+
typeof targetOrResolver === "function",
|
|
219
|
+
funcName,
|
|
220
|
+
paramName,
|
|
221
|
+
"a function or class",
|
|
222
|
+
targetOrResolver
|
|
223
|
+
);
|
|
224
|
+
const resolver = isClass(targetOrResolver) ? asClass(targetOrResolver, opts) : asFunction(targetOrResolver, opts);
|
|
225
|
+
return resolver.resolve(container);
|
|
226
|
+
}
|
|
227
|
+
function loadModules2(globPatterns, opts) {
|
|
228
|
+
const _loadModulesDeps = {
|
|
229
|
+
require: options.require || function(uri) {
|
|
230
|
+
return __require(uri);
|
|
231
|
+
},
|
|
232
|
+
listModules,
|
|
233
|
+
container
|
|
234
|
+
};
|
|
235
|
+
if (opts == null ? void 0 : opts.esModules) {
|
|
236
|
+
_loadModulesDeps.require = importModule;
|
|
237
|
+
return loadModules(
|
|
238
|
+
_loadModulesDeps,
|
|
239
|
+
globPatterns,
|
|
240
|
+
opts
|
|
241
|
+
).then(() => container);
|
|
242
|
+
} else {
|
|
243
|
+
loadModules(_loadModulesDeps, globPatterns, opts);
|
|
244
|
+
return container;
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
async function dispose() {
|
|
248
|
+
const entries = Array.from(container.cache.entries());
|
|
249
|
+
container.cache.clear();
|
|
250
|
+
return Promise.all(
|
|
251
|
+
entries.map(([name, entry]) => {
|
|
252
|
+
const { resolver, value } = entry;
|
|
253
|
+
const disposable = resolver;
|
|
254
|
+
if (disposable.dispose)
|
|
255
|
+
return Promise.resolve().then(() => disposable.dispose(value));
|
|
256
|
+
return Promise.resolve();
|
|
257
|
+
})
|
|
258
|
+
).then(() => void 0);
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
__name(createContainer, "createContainer");
|
|
262
|
+
Reflect.defineMetadata(DI_CONTAINER_CREATOR_CONSTRUCTOR, true, createContainer);
|
|
263
|
+
|
|
264
|
+
export { createContainer };
|
|
265
|
+
//# sourceMappingURL=out.js.map
|
|
266
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9saWIvaW9jL0RlcGVuZGVuY3lJbmplY3Rpb25Db250YWluZXIudHMiXSwibmFtZXMiOlsiaW5zcGVjdCIsImxvYWRNb2R1bGVzIiwicmVnaXN0cmF0aW9ucyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFDQSxZQUFZLFVBQVU7QUFrTXRCLElBQU0sY0FBYyxPQUFPLFlBQVk7QUFLdkMsSUFBTSx3QkFBd0IsT0FBTyxxQkFBcUI7QUFLMUQsSUFBTSxvQkFBNEI7QUFPM0IsU0FBUyxnQkFDWixTQUNBLGlCQUNnQztBQUNoQyxZQUFVO0FBQUEsSUFDTixlQUFlLGNBQWM7QUFBQSxJQUM3QixHQUFHO0FBQUEsRUFDUDtBQUdBLE1BQUksa0JBQW1DLENBQUM7QUFHeEMsUUFBTSxnQkFBa0MsQ0FBQztBQUt6QyxRQUFNLFNBQVksSUFBSTtBQUFBLElBQ2xCO0FBQUEsTUFDSSxDQUFNLGFBQVEsTUFBTSxHQUFHO0FBQUEsSUFDM0I7QUFBQSxJQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLE1BTUksS0FBSyxDQUFDLFNBQWlCLFNBQXNCLFFBQVEsSUFBSTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxNQU96RCxLQUFLLENBQUMsU0FBaUIsU0FBMEI7QUFDN0MsY0FBTSxJQUFJO0FBQUEsVUFDTiwrQkFDSSxJQUNKO0FBQUEsUUFDSjtBQUFBLE1BQ0o7QUFBQTtBQUFBO0FBQUE7QUFBQSxNQUtBLFVBQVU7QUFDTixlQUFPLE1BQU0sS0FBSyxNQUFhO0FBQUEsTUFDbkM7QUFBQTtBQUFBO0FBQUE7QUFBQSxNQUtBLHlCQUF5QixRQUFnQixLQUFzRDtBQUMzRixjQUFNLE9BQXlCLG9CQUFvQjtBQUNuRCxZQUFJLE9BQU8seUJBQXlCLE1BQU0sR0FBRztBQUFHLGlCQUFPO0FBQUEsWUFDbkQsWUFBWTtBQUFBLFlBQ1osY0FBYztBQUFBLFVBQ2xCO0FBQ0EsZUFBTztBQUFB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QUFNLEVBQUMsVUFBVSxNQUFLLElBQUk7QUFDMUIsY0FBTSxhQUFzQztBQUM1QyxZQUFJLFdBQVc7QUFBUyxpQkFBTyxRQUFRLFFBQVEsRUFBRSxLQUFLLE1BQU0sV0FBVyxRQUFTLEtBQUssQ0FBQztBQUN0RixlQUFPLFFBQVEsUUFBUTtBQUFBLE1BQzNCLENBQUM7QUFBQSxJQUNMLEVBQUUsS0FBSyxNQUFNLE1BQVM7QUFBQSxFQUMxQjtBQVhlO0FBWW5CO0FBMVdnQjtBQTRXaEIsUUFBUSxlQUFlLGtDQUFrQyxNQUFNLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgJ3JlZmxlY3QtbWV0YWRhdGEnXG5pbXBvcnQgKiBhcyB1dGlsIGZyb20gJ3V0aWwnXG5pbXBvcnQge0dsb2JXaXRoT3B0aW9ucywgbGlzdE1vZHVsZXN9IGZyb20gJy4vTGlzdE1vZHVsZXMuanMnXG5pbXBvcnQge1xuICAgIExvYWRNb2R1bGVzT3B0aW9ucyxcbiAgICBsb2FkTW9kdWxlcyBhcyByZWFsTG9hZE1vZHVsZXMsXG4gICAgTG9hZE1vZHVsZXNSZXN1bHRcbn0gZnJvbSAnLi9Mb2FkTW9kdWxlcy5qcydcbmltcG9ydCB7XG4gICAgUmVzb2x2ZXIsXG4gICAgQ29uc3RydWN0b3IsXG4gICAgYXNDbGFzcyxcbiAgICBhc0Z1bmN0aW9uLFxuICAgIERpc3Bvc2FibGVSZXNvbHZlcixcbiAgICBCdWlsZFJlc29sdmVyT3B0aW9ucywgQnVpbGRSZXNvbHZlclxufSBmcm9tICcuL1Jlc29sdmVycy5qcydcbmltcG9ydCB7bGFzdCwgbmFtZVZhbHVlVG9PYmplY3QsIGlzQ2xhc3N9IGZyb20gJy4vVXRpbHMuanMnXG5pbXBvcnQge0luamVjdGlvbk1vZGUsIEluamVjdGlvbk1vZGVUeXBlfSBmcm9tICcuL0luamVjdGlvbk1vZGUuanMnXG5pbXBvcnQge0xpZmV0aW1lfSBmcm9tICcuL0xpZmV0aW1lLmpzJ1xuaW1wb3J0IHtEZXBlbmRlbmN5SW5qZWN0aW9uUmVzb2x1dGlvbkVycm9yLCBEZXBlbmRlbmN5SW5qZWN0aW9uVHlwZUVycm9yfSBmcm9tICcuL0Vycm9ycy5qcydcbmltcG9ydCB7aW1wb3J0TW9kdWxlfSBmcm9tICcuL0xvYWRNb2R1bGVOYXRpdmUuanMnXG5pbXBvcnQge1xuICAgIERJX0NPTlRBSU5FUl9DUkVBVE9SX0NPTlNUUlVDVE9SLFxuICAgIERJX1RBUkdFVF9DT05TVFJVQ1RPUl9DT05GSUdVUkFCTEVfT0JKRUNUX05BTUVcbn0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL01ldGFkYXRhS2V5LmpzJ1xuXG4vKipcbiAqIOS7jmNyZWF0ZUNvbnRhaW5lcui/lOWbnueahOWuueWZqOWFt+acieS4gOS6m+aWueazleWSjOWxnuaAp+OAglxuICogQGludGVyZmFjZSBJRGVwZW5kZW5jeUluamVjdGlvbkNvbnRhaW5lclxuICovXG5leHBvcnQgaW50ZXJmYWNlIElEZXBlbmRlbmN5SW5qZWN0aW9uQ29udGFpbmVyPENyYWRsZSBleHRlbmRzIG9iamVjdCA9IGFueT4ge1xuICAgIC8qKlxuICAgICAqIOWuueWZqOmFjee9rueahOmAiemhueOAglxuICAgICAqL1xuICAgIG9wdGlvbnM6IENvbnRhaW5lck9wdGlvbnNcbiAgICAvKipcbiAgICAgKiDlnKjkvb/nlKhQUk9YWeazqOWFpeaooeW8j+aXtuazqOWFpeeahOS7o+eQhuWvueixoeOAglxuICAgICAqIOWPr+S7peebtOaOpeS9v+eUqOOAglxuICAgICAqL1xuICAgIHJlYWRvbmx5IGNyYWRsZTogQ3JhZGxlXG4gICAgLyoqXG4gICAgICog6I635Y+W5ZCI5bm25a655Zmo5peP6LCx55qE5rOo5YaM5L+h5oGv55qE6I635Y+W5Zmo44CCXG4gICAgICovXG4gICAgcmVhZG9ubHkgcmVnaXN0cmF0aW9uczogUmVnaXN0cmF0aW9uSGFzaFxuICAgIC8qKlxuICAgICAqIOW3suino+aekOaooeWdl+eahOe8k+WtmOOAglxuICAgICAqL1xuICAgIHJlYWRvbmx5IGNhY2hlOiBNYXA8c3RyaW5nIHwgc3ltYm9sLCBDYWNoZUVudHJ5PlxuXG4gICAgLyoqXG4gICAgICog5Lul5b2T5YmN5a655Zmo5Li654i25a655Zmo77yM5Yib5bu65LiA5Liq5L2c55So5Z+f5a655Zmo44CCXG4gICAgICovXG4gICAgY3JlYXRlU2NvcGU8VCBleHRlbmRzIG9iamVjdCA9IHt9PigpOiBJRGVwZW5kZW5jeUluamVjdGlvbkNvbnRhaW5lcjxDcmFkbGUgJiBUPlxuXG4gICAgLyoqXG4gICAgICogVXNlZCBieSBgdXRpbC5pbnNwZWN0YC5cbiAgICAgKi9cbiAgICBpbnNwZWN0KGRlcHRoOiBudW1iZXIsIG9wdHM/OiBhbnkpOiBzdHJpbmdcblxuICAgIC8qKlxuICAgICAqIOWwhmxpYi9sb2FkTW9kdWxlc+e7keWumuWIsOW9k+WJjeWuueWZqO+8jOW5tuaPkOS+m+Wug+aJgOS+nei1lueahOWunumZheWunueOsOOAglxuICAgICAqIOatpOWklu+8jOWwhuino+aekOS9v+eUqGRlcGVuZHNPbiBBUEnnmoTku7vkvZXmqKHlnZfjgIJcbiAgICAgKi9cbiAgICBsb2FkTW9kdWxlczxFU00gZXh0ZW5kcyBib29sZWFuID0gZmFsc2U+KFxuICAgICAgICBnbG9iUGF0dGVybnM6IEFycmF5PHN0cmluZyB8IEdsb2JXaXRoT3B0aW9ucz4sXG4gICAgICAgIG9wdGlvbnM/OiBMb2FkTW9kdWxlc09wdGlvbnM8RVNNPlxuICAgICk6IEVTTSBleHRlbmRzIGZhbHNlID8gdGhpcyA6IFByb21pc2U8dGhpcz5cblxuICAgIC8qKlxuICAgICAqIOa3u+WKoOS4gOS4quWNleeLrOeahOazqOWGjO+8jOS9v+eUqOmihOWFiOaehOW7uueahOino+aekOWZqOOAglxuICAgICAqL1xuICAgIHJlZ2lzdGVyPFQ+KG5hbWU6IHN0cmluZyB8IHN5bWJvbCwgcmVnaXN0cmF0aW9uOiBSZXNvbHZlcjxUPik6IHRoaXNcblxuICAgIC8qKlxuICAgICAqIOWwhuino+aekOWZqOS4juazqOWGjOWQjeensOmFjeWvueW5tui/m+ihjOazqOWGjOOAglxuICAgICAqL1xuICAgIHJlZ2lzdGVyKG5hbWVBbmRSZWdpc3RyYXRpb25QYWlyOiBOYW1lQW5kUmVnaXN0cmF0aW9uUGFpcjxDcmFkbGU+KTogdGhpc1xuXG4gICAgLyoqXG4gICAgICog6Kej5p6Q5YW35pyJ57uZ5a6a5ZCN56ew55qE5rOo5YaMXG4gICAgICogQHBhcmFtIG5hbWVcbiAgICAgKiBAcGFyYW0gcmVzb2x2ZU9wdGlvbnNcbiAgICAgKi9cbiAgICByZXNvbHZlPEsgZXh0ZW5kcyBrZXlvZiBDcmFkbGU+KFxuICAgICAgICBuYW1lOiBLLFxuICAgICAgICByZXNvbHZlT3B0aW9ucz86IFJlc29sdmVPcHRpb25zXG4gICAgKTogQ3JhZGxlW0tdXG5cbiAgICAvKipcbiAgICAgKiDop6PmnpDlhbfmnInnu5nlrprlkI3np7DnmoTms6jlhoxcbiAgICAgKiBAcGFyYW0gbmFtZVxuICAgICAqIEBwYXJhbSByZXNvbHZlT3B0aW9uc1xuICAgICAqL1xuICAgIHJlc29sdmU8VD4obmFtZTogc3RyaW5nIHwgc3ltYm9sLCByZXNvbHZlT3B0aW9ucz86IFJlc29sdmVPcHRpb25zKTogVFxuXG4gICAgLyoqXG4gICAgICog5qOA5p+l5YW35pyJ57uZ5a6a5ZCN56ew55qE5rOo5YaM5piv5ZCm5a2Y5ZyoXG4gICAgICogQHBhcmFtIG5hbWVcbiAgICAgKi9cbiAgICBoYXNSZWdpc3RyYXRpb24obmFtZTogc3RyaW5nIHwgc3ltYm9sKTogYm9vbGVhblxuXG4gICAgLyoqXG4gICAgICog6YCS5b2S5Zyw6YCa6L+H5ZCN56ew6I635Y+W5rOo5YaM77yI5aaC5p6c5a2Y5Zyo5LqO5b2T5YmN5a655Zmo5oiW5YW25Lu75L2V54i25a655Zmo5Lit77yJXG4gICAgICogQHBhcmFtIG5hbWVcbiAgICAgKi9cbiAgICBnZXRSZWdpc3RyYXRpb248SyBleHRlbmRzIGtleW9mIENyYWRsZT4obmFtZTogSyk6IFJlc29sdmVyPENyYWRsZVtLXT4gfCBudWxsXG5cbiAgICAvKipcbiAgICAgKiDlpoLmnpzlvZPliY3lrrnlmajmiJblhbbku7vkvZXniLblrrnlmajkuK3lrZjlnKjlhbfmnInmjIflrprlkI3np7DnmoTms6jlhozvvIzliJnpgJLlvZLojrflj5bor6Xms6jlhoxcbiAgICAgKiBAcGFyYW0gbmFtZVxuICAgICAqL1xuICAgIGdldFJlZ2lzdHJhdGlvbjxUID0gdW5rbm93bj4obmFtZTogc3RyaW5nIHwgc3ltYm9sKTogUmVzb2x2ZXI8VD4gfCBudWxsXG5cbiAgICAvKipcbiAgICAgKiDnu5nlrprkuIDkuKrop6PmnpDlmajjgIHnsbvmiJblh73mlbDvvIzmnoTlu7rlroPlubbov5Tlm55cbiAgICAgKiDkuI3nvJPlrZjlroPvvIzov5nmhI/lkbPnnYDlpoLmnpzkvKDpgJLkuobkuIDkuKrop6PmnpDlmajvvIzpgqPkuYjkuI3kvJrkvb/nlKjku7vkvZXlnKjnlJ/lkb3lkajmnJ/kuK3phY3nva7nmoTorr7nva5cbiAgICAgKiBAcGFyYW0gdGFyZ2V0T3JSZXNvbHZlclxuICAgICAqIEBwYXJhbSBvcHRzXG4gICAgICovXG4gICAgYnVpbGQ8VD4oXG4gICAgICAgIHRhcmdldE9yUmVzb2x2ZXI6IENsYXNzT3JGdW5jdGlvblJldHVybmluZzxUPiB8IFJlc29sdmVyPFQ+LFxuICAgICAgICBvcHRzPzogQnVpbGRSZXNvbHZlck9wdGlvbnM8VD5cbiAgICApOiBUXG5cbiAgICAvKipcbiAgICAgKiDplIDmr4Hor6Xlrrnlmajlj4rlhbblrZDlrrnlmajvvIzlr7nmiYDmnInlj6/ph4rmlL7nmoTms6jlhozov5vooYzmuIXnkIblubbmuIXpmaTnvJPlrZhcbiAgICAgKiDku4XpgILnlKjkuo7lhbfmnIlTQ09QRUTmiJZTSU5HTEVUT07nlJ/lkb3lkajmnJ/nmoTms6jlhoxcbiAgICAgKi9cbiAgICBkaXNwb3NlKCk6IFByb21pc2U8dm9pZD5cbn1cblxuLyoqXG4gKiDlj6/pgInnmoTop6PmnpDpgInpobnjgIJcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZXNvbHZlT3B0aW9ucyB7XG4gICAgLyoqXG4gICAgICog5aaC5p6c6K6+572u5Li6dHJ1Ze+8jOW5tuS4lHJlc29sdmXml6Dms5Xmib7liLDor7fmsYLnmoTkvp3otZbpobnvvIzliJnov5Tlm551bmRlZmluZWTogIzkuI3mmK/mipvlh7rplJnor6/jgIJcbiAgICAgKi9cbiAgICBhbGxvd1VucmVnaXN0ZXJlZD86IGJvb2xlYW5cbn1cblxuLyoqXG4gKiDnvJPlrZjmnaHnm67jgIJcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDYWNoZUVudHJ5PFQgPSBhbnk+IHtcbiAgICAvKipcbiAgICAgKiDop6PmnpDlgLznmoTop6PmnpDlmajjgIJcbiAgICAgKi9cbiAgICByZXNvbHZlcjogUmVzb2x2ZXI8VD5cbiAgICAvKipcbiAgICAgKiDop6PmnpDnmoTlgLzjgIJcbiAgICAgKi9cbiAgICB2YWx1ZTogVFxufVxuXG4vKipcbiAqIOazqOWGjOS4gOS4quazqOWGjOmhueOAglxuICogQGludGVyZmFjZSBOYW1lQW5kUmVnaXN0cmF0aW9uUGFpclxuICovXG5leHBvcnQgdHlwZSBOYW1lQW5kUmVnaXN0cmF0aW9uUGFpcjxUPiA9IHtcbiAgICBbVSBpbiBrZXlvZiBUXT86IFJlc29sdmVyPFRbVV0+XG59XG5cbi8qKlxuICog6L+U5Zue57G75Z6L5Li6IFQg55qE5Ye95pWw44CCXG4gKi9cbmV4cG9ydCB0eXBlIEZ1bmN0aW9uUmV0dXJuaW5nPFQ+ID0gKC4uLmFyZ3M6IEFycmF5PGFueT4pID0+IFRcblxuLyoqXG4gKiDov5Tlm54gVCDnmoTnsbvmiJblh73mlbDjgIJcbiAqL1xuZXhwb3J0IHR5cGUgQ2xhc3NPckZ1bmN0aW9uUmV0dXJuaW5nPFQ+ID0gRnVuY3Rpb25SZXR1cm5pbmc8VD4gfCBDb25zdHJ1Y3RvcjxUPlxuXG4vKipcbiAqIGNyZWF0ZUNvbnRhaW5lciDlh73mlbDnmoTpgInpobnjgIJcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb250YWluZXJPcHRpb25zIHtcbiAgICByZXF1aXJlPzogKGlkOiBzdHJpbmcpID0+IGFueVxuICAgIGluamVjdGlvbk1vZGU/OiBJbmplY3Rpb25Nb2RlVHlwZVxufVxuXG4vKipcbiAqIOWMheWQq+azqOWGjOmhueeahOaVo+WIl++8jOWFtuS4reWQjeensOaYr+mUruOAglxuICovXG5leHBvcnQgdHlwZSBSZWdpc3RyYXRpb25IYXNoID0gUmVjb3JkPHN0cmluZyB8IHN5bWJvbCB8IG51bWJlciwgUmVzb2x2ZXI8YW55Pj5cblxuLyoqXG4gKiDop6PmnpDloIbmoIjjgIJcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZXNvbHV0aW9uU3RhY2sgZXh0ZW5kcyBBcnJheTxzdHJpbmcgfCBzeW1ib2w+IHtcbn1cblxuLyoqXG4gKiDlrrbml4/moJHnrKblj7fjgIJcbiAqL1xuY29uc3QgRkFNSUxZX1RSRUUgPSBTeW1ib2woJ2ZhbWlseVRyZWUnKVxuXG4vKipcbiAqIOWQiOW5tuazqOWGjOmhueespuWPt+OAglxuICovXG5jb25zdCBST0xMX1VQX1JFR0lTVFJBVElPTlMgPSBTeW1ib2woJ3JvbGxVcFJlZ2lzdHJhdGlvbnMnKVxuXG4vKipcbiAqIOiwg+eUqCB0b1N0cmluZyDml7bnmoTlrZfnrKbkuLLooajnpLrlvaLlvI/jgIJcbiAqL1xuY29uc3QgQ1JBRExFX1NUUklOR19UQUc6IHN0cmluZyA9ICdEZXBlbmRlbmN5SW5qZWN0aW9uQ29udGFpbmVyQ3JhZGxlJ1xuXG4vKipcbiAqIOWIm+W7uuS4gOS4quS+nei1luazqOWFpeWuueWZqOWunuS+i1xuICogQHBhcmFtIG9wdGlvbnNcbiAqIEBwYXJhbSBwYXJlbnRDb250YWluZXJcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUNvbnRhaW5lcjxUIGV4dGVuZHMgb2JqZWN0ID0gYW55LCBVIGV4dGVuZHMgb2JqZWN0ID0gYW55PihcbiAgICBvcHRpb25zPzogQ29udGFpbmVyT3B0aW9ucyxcbiAgICBwYXJlbnRDb250YWluZXI/OiBJRGVwZW5kZW5jeUluamVjdGlvbkNvbnRhaW5lcjxVPlxuKTogSURlcGVuZGVuY3lJbmplY3Rpb25Db250YWluZXI8VD4ge1xuICAgIG9wdGlvbnMgPSB7XG4gICAgICAgIGluamVjdGlvbk1vZGU6IEluamVjdGlvbk1vZGUuUFJPWFksXG4gICAgICAgIC4uLm9wdGlvbnNcbiAgICB9XG5cbiAgICAvLyDop6PmnpDloIbmoIjnlKjkuo7ot5/ouKrmraPlnKjop6PmnpDnmoTmqKHlnZdcbiAgICBsZXQgcmVzb2x1dGlvblN0YWNrOiBSZXNvbHV0aW9uU3RhY2sgPSBbXVxuXG4gICAgLy8g5q2k5a655Zmo55qE5YaF6YOo5rOo5YaM5a2Y5YKoXG4gICAgY29uc3QgcmVnaXN0cmF0aW9uczogUmVnaXN0cmF0aW9uSGFzaCA9IHt9XG5cbiAgICAvKipcbiAgICAgKiDkvKDpgJLnu5nlh73mlbDnmoRQcm94ee+8jOS9v+Wug+S7rOWPr+S7peWcqOS4jeefpemBk+S+nei1lumhueadpeiHquS9leWkhOeahOaDheWGteS4i+ino+aekOWug+S7rOOAguaIkeensOS5i+S4uuKAnGNyYWRsZe+8iOaRh+evru+8ieKAne+8jOWboOS4uuWug+aYr+azqOWGjOS6i+eJqeWcqOino+aekOaXtuS6p+eUn+eUn+WRveeahOWcsOaWueOAglxuICAgICAqL1xuICAgIGNvbnN0IGNyYWRsZTogVCA9IG5ldyBQcm94eShcbiAgICAgICAge1xuICAgICAgICAgICAgW3V0aWwuaW5zcGVjdC5jdXN0b21dOiB0b1N0cmluZ1JlcHJlc2VudGF0aW9uRm5cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgKiDlvZPov5vooYxjb250YWluZXIuY3JhZGxlLirnmoRnZXTosIPnlKjml7bvvIzkvJrosIPnlKhnZXTlpITnkIbnqIvluo9cbiAgICAgICAgICAgICAqIEBwYXJhbSBfdGFyZ2V0XG4gICAgICAgICAgICAgKiBAcGFyYW0gbmFtZVxuICAgICAgICAgICAgICovXG4gICAgICAgICAgICBnZXQ6IChfdGFyZ2V0OiBvYmplY3QsIG5hbWU6IHN0cmluZyk6IGFueSA9PiByZXNvbHZlKG5hbWUpLFxuXG4gICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAqIOWcqGNyYWRsZeS4iuiuvue9ruWGheWuueS8muaKm+WHuumUmeivr1xuICAgICAgICAgICAgICogQHBhcmFtIF90YXJnZXRcbiAgICAgICAgICAgICAqIEBwYXJhbSBuYW1lXG4gICAgICAgICAgICAgKi9cbiAgICAgICAgICAgIHNldDogKF90YXJnZXQ6IG9iamVjdCwgbmFtZTogc3RyaW5nKTogYm9vbGVhbiA9PiB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgICAgICAgICBgQXR0ZW1wdGVkIHNldHRpbmcgcHJvcGVydHkgXCIke1xuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZSBhcyBhbnlcbiAgICAgICAgICAgICAgICAgICAgfVwiIG9uIGNvbnRhaW5lciBjcmFkbGUgLSB0aGlzIGlzIG5vdCBhbGxvd2VkLmBcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICB9LFxuXG4gICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAqIFVzZWQgZm9yIGBPYmplY3Qua2V5c2AuXG4gICAgICAgICAgICAgKi9cbiAgICAgICAgICAgIG93bktleXMoKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIEFycmF5LmZyb20oY3JhZGxlIGFzIGFueSlcbiAgICAgICAgICAgIH0sXG5cbiAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICogVXNlZCBmb3IgYE9iamVjdC5rZXlzYC5cbiAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHRhcmdldDogb2JqZWN0LCBrZXk6IHN0cmluZyB8IHN5bWJvbCk6IFByb3BlcnR5RGVzY3JpcHRvciB8IHVuZGVmaW5lZCB7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVnczogUmVnaXN0cmF0aW9uSGFzaCA9IHJvbGxVcFJlZ2lzdHJhdGlvbnMoKVxuICAgICAgICAgICAgICAgIGlmIChPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHJlZ3MsIGtleSkpIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICApIGFzIFRcblxuICAgIC8vIFRoZSBjb250YWluZXIgYmVpbmcgZXhwb3NlZC5cbiAgICBjb25zdCBjb250YWluZXI6IElEZXBlbmRlbmN5SW5qZWN0aW9uQ29udGFpbmVyICYgYW55ID0ge1xuICAgICAgICBvcHRpb25zLFxuICAgICAgICBjcmFkbGUsXG4gICAgICAgIGluc3BlY3QsXG4gICAgICAgIGNhY2hlOiBuZXcgTWFwPHN0cmluZyB8IHN5bWJvbCwgQ2FjaGVFbnRyeT4oKSxcbiAgICAgICAgbG9hZE1vZHVsZXMsXG4gICAgICAgIGNyZWF0ZVNjb3BlLFxuICAgICAgICByZWdpc3RlcjogcmVnaXN0ZXIgYXMgYW55LFxuICAgICAgICBidWlsZCxcbiAgICAgICAgcmVzb2x2ZSxcbiAgICAgICAgaGFzUmVnaXN0cmF0aW9uLFxuICAgICAgICBkaXNwb3NlLFxuICAgICAgICBnZXRSZWdpc3RyYXRpb24sXG4gICAgICAgIFt1dGlsLmluc3BlY3QuY3VzdG9tXTogaW5zcGVjdCxcbiAgICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lXG4gICAgICAgIFtST0xMX1VQX1JFR0lTVFJBVElPTlMhXTogcm9sbFVwUmVnaXN0cmF0aW9ucyxcbiAgICAgICAgZ2V0IHJlZ2lzdHJhdGlvbnMoKSB7XG4gICAgICAgICAgICByZXR1cm4gcm9sbFVwUmVnaXN0cmF0aW9ucygpXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyDot5/ouKrlrrbml4/moJFcbiAgICBjb25zdCBmYW1pbHlUcmVlOiBBcnJheTxJRGVwZW5kZW5jeUluamVjdGlvbkNvbnRhaW5lcj4gPSBwYXJlbnRDb250YWluZXJcbiAgICAgICAgICAgID8gW2NvbnRhaW5lcl0uY29uY2F0KChwYXJlbnRDb250YWluZXIgYXMgYW55KVtGQU1JTFlfVFJFRV0pXG4gICAgICAgICAgICA6IFtjb250YWluZXJdXG4gICAgICAgIC8vIOS/neWtmOWug++8jOS7peS+v+aIkeS7rOWPr+S7peS7juS9nOeUqOWfn+WuueWZqOS4reiuv+mXruWug1xuICAgIDsoY29udGFpbmVyIGFzIGFueSlbRkFNSUxZX1RSRUVdID0gZmFtaWx5VHJlZVxuXG4gICAgLy8g5oiR5Lus6ZyA6KaB5a+55qC55a655Zmo55qE5byV55So77yM5Lul5L6/5oiR5Lus5Y+v5Lul5qOA57Si5ZKM5a2Y5YKo5Y2V5L6L5a+56LGhXG4gICAgY29uc3Qgcm9vdENvbnRhaW5lcjogSURlcGVuZGVuY3lJbmplY3Rpb25Db250YWluZXIgPSBsYXN0KGZhbWlseVRyZWUpXG5cbiAgICByZXR1cm4gY29udGFpbmVyXG5cbiAgICAvKipcbiAgICAgKiDnlLF1dGlsLmluc3BlY3Tkvb/nlKjvvIh1dGlsLmluc3BlY3Tlj4jooqtjb25zb2xlLmxvZ+S9v+eUqO+8iVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGluc3BlY3QoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGBbRGVwZW5kZW5jeUluamVjdGlvbkNvbnRhaW5lciAoJHtcbiAgICAgICAgICAgIHBhcmVudENvbnRhaW5lciA/ICdzY29wZWQsICcgOiAnJ1xuICAgICAgICB9cmVnaXN0cmF0aW9uczogJHtPYmplY3Qua2V5cyhjb250YWluZXIucmVnaXN0cmF0aW9ucykubGVuZ3RofSldYFxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOS7juWutuaXj+agkeS4reWQiOW5tuazqOWGjOmhuVxuICAgICAqIOi/meWPr+iDveS8mumdnuW4uOiAl+i0uei1hOa6kOOAguS7heWcqOi/reS7o+aRh+evruS7o+eQhuaXtuS9v+eUqO+8jOi/meW5tuS4jeaYr+aXpeW4uOS9v+eUqOS4reW6lOivpeWBmueahOS6i+aDhe+8jOS4u+imgeeUqOS6juiwg+ivlVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHJvbGxVcFJlZ2lzdHJhdGlvbnMoKTogUmVnaXN0cmF0aW9uSGFzaCB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi4ocGFyZW50Q29udGFpbmVyICYmIChwYXJlbnRDb250YWluZXIgYXMgYW55KVtST0xMX1VQX1JFR0lTVFJBVElPTlNdKCkpLFxuICAgICAgICAgICAgLi4ucmVnaXN0cmF0aW9uc1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog55So5LqO5Li65pGH56+u5o+Q5L6b6L+t5Luj5Zmo44CCXG4gICAgICovXG4gICAgZnVuY3Rpb24qIGNyYWRsZUl0ZXJhdG9yKCk6IEdlbmVyYXRvciB7XG4gICAgICAgIGNvbnN0IHJlZ2lzdHJhdGlvbnM6IFJlZ2lzdHJhdGlvbkhhc2ggPSByb2xsVXBSZWdpc3RyYXRpb25zKClcbiAgICAgICAgZm9yIChjb25zdCByZWdpc3RyYXRpb25OYW1lIGluIHJlZ2lzdHJhdGlvbnMpIHtcbiAgICAgICAgICAgIHlpZWxkIHJlZ2lzdHJhdGlvbk5hbWVcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOWIm+W7uuS4gOS4quS9nOeUqOWfn+WuueWZqFxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGNyZWF0ZVNjb3BlPFAgZXh0ZW5kcyBvYmplY3Q+KCk6IElEZXBlbmRlbmN5SW5qZWN0aW9uQ29udGFpbmVyPFAgJiBUPiB7XG4gICAgICAgIHJldHVybiBjcmVhdGVDb250YWluZXIob3B0aW9ucywgY29udGFpbmVyIGFzIElEZXBlbmRlbmN5SW5qZWN0aW9uQ29udGFpbmVyPFQ+KVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOS4uuino+aekOWZqOa3u+WKoOS4gOS4quazqOWGjOmhueOAglxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHJlZ2lzdGVyKGFyZzE6IGFueSwgYXJnMjogYW55KTogSURlcGVuZGVuY3lJbmplY3Rpb25Db250YWluZXI8VD4ge1xuICAgICAgICBjb25zdCBvYmo6IFJlY29yZDxzdHJpbmcgfCBzeW1ib2wsIGFueT4gPSBuYW1lVmFsdWVUb09iamVjdChhcmcxLCBhcmcyKVxuICAgICAgICBjb25zdCBrZXlzOiAoc3RyaW5nIHwgc3ltYm9sKVtdID0gWy4uLk9iamVjdC5rZXlzKG9iaiksIC4uLk9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMob2JqKV1cbiAgICAgICAgZm9yIChjb25zdCBrZXkgb2Yga2V5cykge1xuICAgICAgICAgICAgY29uc3QgdmFsdWU6IFJlc29sdmVyPGFueT4gPSBvYmpba2V5IGFzIGFueV0gYXMgUmVzb2x2ZXI8YW55PlxuICAgICAgICAgICAgcmVnaXN0cmF0aW9uc1trZXkgYXMgYW55XSA9IHZhbHVlXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGNvbnRhaW5lclxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOWcqOWwneivleino+aekOaRh+evruS4iueahOiHquWumuS5ieajgOafpeWZqOWHveaVsOaXtu+8jOi/lOWbnue7mXV0aWwuaW5zcGVjdOWSjFN5bWJvbC50b1N0cmluZ1RhZ+OAglxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHRvU3RyaW5nUmVwcmVzZW50YXRpb25GbigpIHtcbiAgICAgICAgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChjcmFkbGUpXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5aaC5p6c5Zyo5b2T5YmN5a655Zmo5oiW5YW25Lu75L2V54i25a655Zmo5Lit5a2Y5Zyo5YW35pyJ5oyH5a6a5ZCN56ew55qE5rOo5YaM6aG577yM5YiZ6YCS5b2S6I635Y+W6K+l5rOo5YaM6aG5XG4gICAgICogQHBhcmFtIG5hbWVcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBnZXRSZWdpc3RyYXRpb24obmFtZTogc3RyaW5nIHwgc3ltYm9sKSB7XG4gICAgICAgIGNvbnN0IHJlc29sdmVyOiBSZXNvbHZlcjxhbnk+ID0gcmVnaXN0cmF0aW9uc1tuYW1lXVxuICAgICAgICBpZiAocmVzb2x2ZXIpIHJldHVybiByZXNvbHZlclxuICAgICAgICBpZiAocGFyZW50Q29udGFpbmVyKSByZXR1cm4gcGFyZW50Q29udGFpbmVyLmdldFJlZ2lzdHJhdGlvbihuYW1lKVxuICAgICAgICByZXR1cm4gbnVsbFxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOS9v+eUqOe7meWumuWQjeensOino+aekOazqOWGjOmhuVxuICAgICAqIEBwYXJhbSBuYW1lXG4gICAgICogQHBhcmFtIHJlc29sdmVPcHRzXG4gICAgICovXG4gICAgZnVuY3Rpb24gcmVzb2x2ZShuYW1lOiBzdHJpbmcgfCBzeW1ib2wsIHJlc29sdmVPcHRzPzogUmVzb2x2ZU9wdGlvbnMpOiBhbnkge1xuICAgICAgICByZXNvbHZlT3B0cyA9IHJlc29sdmVPcHRzIHx8IHt9XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICAvLyBHcmFiIHRoZSByZWdpc3RyYXRpb24gYnkgbmFtZS5cbiAgICAgICAgICAgIGNvbnN0IHJlc29sdmVyOiBSZXNvbHZlcjxhbnk+IHwgbnVsbCA9IGdldFJlZ2lzdHJhdGlvbihuYW1lKVxuICAgICAgICAgICAgaWYgKHJlc29sdXRpb25TdGFjay5pbmRleE9mKG5hbWUpID4gLTEpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRGVwZW5kZW5jeUluamVjdGlvblJlc29sdXRpb25FcnJvcihcbiAgICAgICAgICAgICAgICAgICAgbmFtZSxcbiAgICAgICAgICAgICAgICAgICAgcmVzb2x1dGlvblN0YWNrLFxuICAgICAgICAgICAgICAgICAgICAnQ3ljbGljIGRlcGVuZGVuY2llcyBkZXRlY3RlZC4nXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gVXNlZCBpbiBKU09OLnN0cmluZ2lmeS5cbiAgICAgICAgICAgIGlmIChuYW1lID09PSAndG9KU09OJykgcmV0dXJuIHRvU3RyaW5nUmVwcmVzZW50YXRpb25GblxuICAgICAgICAgICAgLy8gVXNlZCBpbiBjb25zb2xlLmxvZy5cbiAgICAgICAgICAgIGlmIChuYW1lID09PSAnY29uc3RydWN0b3InKSByZXR1cm4gY3JlYXRlQ29udGFpbmVyXG4gICAgICAgICAgICBpZiAoIXJlc29sdmVyKSB7XG4gICAgICAgICAgICAgICAgLy8gQ2hlY2tzIGZvciBzb21lIGVkZ2UgY2FzZXMuXG4gICAgICAgICAgICAgICAgc3dpdGNoIChuYW1lKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIFRoZSBmb2xsb3dpbmcgY2hlY2tzIGVuc3VyZSB0aGF0IGNvbnNvbGUubG9nIG9uIHRoZSBjcmFkbGUgZG9lcyBub3RcbiAgICAgICAgICAgICAgICAgICAgLy8gdGhyb3cgYW4gZXJyb3IgKGlzc3VlICM3KS5cbiAgICAgICAgICAgICAgICAgICAgY2FzZSB1dGlsLmluc3BlY3QuY3VzdG9tOlxuICAgICAgICAgICAgICAgICAgICBjYXNlICdpbnNwZWN0JzpcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAndG9TdHJpbmcnOlxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRvU3RyaW5nUmVwcmVzZW50YXRpb25GblxuICAgICAgICAgICAgICAgICAgICBjYXNlIFN5bWJvbC50b1N0cmluZ1RhZzpcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBDUkFETEVfU1RSSU5HX1RBR1xuICAgICAgICAgICAgICAgICAgICAvLyBFZGdlIGNhc2U6IFByb21pc2UgdW53cmFwcGluZyB3aWxsIGxvb2sgZm9yIGEgXCJ0aGVuXCIgcHJvcGVydHkgYW5kIGF0dGVtcHQgdG8gY2FsbCBpdC5cbiAgICAgICAgICAgICAgICAgICAgLy8gUmV0dXJuIHVuZGVmaW5lZCBzbyB0aGF0IHdlIHdvbid0IGNhdXNlIGEgcmVzb2x1dGlvbiBlcnJvci5cbiAgICAgICAgICAgICAgICAgICAgY2FzZSAndGhlbic6XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkXG4gICAgICAgICAgICAgICAgICAgIC8vIFdoZW4gdXNpbmcgYEFycmF5LmZyb21gIG9yIHNwcmVhZGluZyB0aGUgY3JhZGxlLCB0aGlzIHdpbGxcbiAgICAgICAgICAgICAgICAgICAgLy8gcmV0dXJuIHRoZSByZWdpc3RyYXRpb24gbmFtZXMuXG4gICAgICAgICAgICAgICAgICAgIGNhc2UgU3ltYm9sLml0ZXJhdG9yOlxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNyYWRsZUl0ZXJhdG9yXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKHJlc29sdmVPcHRzLmFsbG93VW5yZWdpc3RlcmVkKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IERlcGVuZGVuY3lJbmplY3Rpb25SZXNvbHV0aW9uRXJyb3IobmFtZSwgcmVzb2x1dGlvblN0YWNrKVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gUHVzaGVzIHRoZSBjdXJyZW50bHktcmVzb2x2aW5nIG1vZHVsZSBuYW1lIG9udG8gdGhlIHN0YWNrXG4gICAgICAgICAgICByZXNvbHV0aW9uU3RhY2sucHVzaChuYW1lKVxuICAgICAgICAgICAgLy8gRG8gdGhlIHRoaW5nXG4gICAgICAgICAgICBsZXQgY2FjaGVkOiBDYWNoZUVudHJ5IHwgdW5kZWZpbmVkXG4gICAgICAgICAgICBsZXQgcmVzb2x2ZWQ6IGFueVxuICAgICAgICAgICAgc3dpdGNoIChyZXNvbHZlci5saWZldGltZSB8fCBMaWZldGltZS5UUkFOU0lFTlQpIHtcbiAgICAgICAgICAgICAgICBjYXNlIExpZmV0aW1lLlRSQU5TSUVOVDpcbiAgICAgICAgICAgICAgICAgICAgLy8gVHJhbnNpZW50IGxpZmV0aW1lIG1lYW5zIHJlc29sdmUgZXZlcnkgdGltZS5cbiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZWQgPSByZXNvbHZlci5yZXNvbHZlKGNvbnRhaW5lcilcbiAgICAgICAgICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICAgICAgICBjYXNlIExpZmV0aW1lLlNJTkdMRVRPTjpcbiAgICAgICAgICAgICAgICAgICAgLy8gU2luZ2xldG9uIGxpZmV0aW1lIG1lYW5zIGNhY2hlIGF0IGFsbCB0aW1lcywgcmVnYXJkbGVzcyBvZiBzY29wZS5cbiAgICAgICAgICAgICAgICAgICAgY2FjaGVkID0gcm9vdENvbnRhaW5lci5jYWNoZS5nZXQobmFtZSlcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFjYWNoZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc29sdmVkID0gcmVzb2x2ZXIucmVzb2x2ZShjb250YWluZXIpXG4gICAgICAgICAgICAgICAgICAgICAgICByb290Q29udGFpbmVyLmNhY2hlLnNldChuYW1lLCB7cmVzb2x2ZXIsIHZhbHVlOiByZXNvbHZlZH0pXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXNvbHZlZCA9IGNhY2hlZC52YWx1ZVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgICAgICAgY2FzZSBMaWZldGltZS5TQ09QRUQ6XG4gICAgICAgICAgICAgICAgICAgIC8vIFNjb3BlZCBsaWZldGltZSBtZWFucyB0aGF0IHRoZSBjb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgLy8gdGhhdCByZXNvbHZlcyB0aGUgcmVnaXN0cmF0aW9uIGFsc28gY2FjaGVzIGl0LlxuICAgICAgICAgICAgICAgICAgICAvLyBXaGVuIGEgcmVnaXN0cmF0aW9uIGlzIG5vdCBmb3VuZCwgd2UgdHJhdmVsIHVwXG4gICAgICAgICAgICAgICAgICAgIC8vIHRoZSBmYW1pbHkgdHJlZSB1bnRpbCB3ZSBmaW5kIG9uZSB0aGF0IGlzIGNhY2hlZC5cbiAgICAgICAgICAgICAgICAgICAgY2FjaGVkID0gY29udGFpbmVyLmNhY2hlLmdldChuYW1lKVxuICAgICAgICAgICAgICAgICAgICBpZiAoY2FjaGVkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFdlIGZvdW5kIG9uZSFcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc29sdmVkID0gY2FjaGVkLnZhbHVlXG4gICAgICAgICAgICAgICAgICAgICAgICBicmVha1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC8vIOWmguaenOaIkeS7rOi/mOayoeacieaJvuWIsOS4gOS4qu+8jOaIkeS7rOmcgOimgeino+aekOW5tue8k+WtmOWug1xuICAgICAgICAgICAgICAgICAgICByZXNvbHZlZCA9IHJlc29sdmVyLnJlc29sdmUoY29udGFpbmVyKVxuICAgICAgICAgICAgICAgICAgICBjb250YWluZXIuY2FjaGUuc2V0KG5hbWUsIHtyZXNvbHZlciwgdmFsdWU6IHJlc29sdmVkfSlcbiAgICAgICAgICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRGVwZW5kZW5jeUluamVjdGlvblJlc29sdXRpb25FcnJvcihcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICByZXNvbHV0aW9uU3RhY2ssXG4gICAgICAgICAgICAgICAgICAgICAgICBgVW5rbm93biBsaWZldGltZSBcIiR7cmVzb2x2ZXIubGlmZXRpbWV9XCJgXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIOWGjeasoeS7juWghuagiOS4rVBvcOWHuuWvueixoe+8jOS4uuS4i+S4gOasoeino+aekOWBmuWlveWHhuWkh1xuICAgICAgICAgICAgcmVzb2x1dGlvblN0YWNrLnBvcCgpXG4gICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAqIOeUqOS6juWKoOi9vemFjee9ruWvueixoeiHs+azqOWFpemhueebruWGhVxuICAgICAgICAgICAgICovXG4gICAgICAgICAgICBpZiAoKHR5cGVvZiByZXNvbHZlZCA9PT0gJ29iamVjdCcgfHwgdHlwZW9mIHJlc29sdmVkID09PSAnZnVuY3Rpb24nKSAmJiAhUmVmbGVjdC5oYXNPd25NZXRhZGF0YShESV9UQVJHRVRfQ09OU1RSVUNUT1JfQ09ORklHVVJBQkxFX09CSkVDVF9OQU1FLCByZXNvbHZlZCkpXG4gICAgICAgICAgICAgICAgUmVmbGVjdC5kZWZpbmVNZXRhZGF0YShESV9UQVJHRVRfQ09OU1RSVUNUT1JfQ09ORklHVVJBQkxFX09CSkVDVF9OQU1FLCBuYW1lLCByZXNvbHZlZClcbiAgICAgICAgICAgIHJldHVybiByZXNvbHZlZFxuICAgICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgIC8vIOW9k+mBh+WIsOmUmeivr+aXtu+8jOmcgOimgemHjee9ruWghuagiFxuICAgICAgICAgICAgcmVzb2x1dGlvblN0YWNrID0gW11cbiAgICAgICAgICAgIHRocm93IGVyclxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5qOA5p+l5piv5ZCm5a2Y5Zyo5YW35pyJ57uZ5a6a5ZCN56ew55qE5rOo5YaM6aG5XG4gICAgICogQHBhcmFtIG5hbWVcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBoYXNSZWdpc3RyYXRpb24obmFtZTogc3RyaW5nIHwgc3ltYm9sKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIWdldFJlZ2lzdHJhdGlvbihuYW1lKVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOe7meWumuS4gOS4quazqOWGjOmhueOAgeexu+aIluWHveaVsO+8jOaehOW7uuWFtuW5tui/lOWbnuOAguS4jeS8mue8k+WtmOWug++8jOi/meaEj+WRs+edgOWmguaenOS8oOmAkuS6huazqOWGjOmhue+8jOWImeS4jeS8muS9v+eUqOS7u+S9lemFjee9rueahOeUn+WRveWRqOacn1xuICAgICAqIEBwYXJhbSB0YXJnZXRPclJlc29sdmVyXG4gICAgICogQHBhcmFtIG9wdHNcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBidWlsZDxUPihcbiAgICAgICAgdGFyZ2V0T3JSZXNvbHZlcjogUmVzb2x2ZXI8VD4gfCBDbGFzc09yRnVuY3Rpb25SZXR1cm5pbmc8VD4sXG4gICAgICAgIG9wdHM/OiBCdWlsZFJlc29sdmVyT3B0aW9uczxUPlxuICAgICk6IFQge1xuICAgICAgICBpZiAodGFyZ2V0T3JSZXNvbHZlciAmJiAodGFyZ2V0T3JSZXNvbHZlciBhcyBSZXNvbHZlcjxUPikucmVzb2x2ZSkgcmV0dXJuICh0YXJnZXRPclJlc29sdmVyIGFzIFJlc29sdmVyPFQ+KS5yZXNvbHZlKGNvbnRhaW5lcilcbiAgICAgICAgY29uc3QgZnVuY05hbWU6IHN0cmluZyA9ICdidWlsZCdcbiAgICAgICAgY29uc3QgcGFyYW1OYW1lOiBzdHJpbmcgPSAndGFyZ2V0T3JSZXNvbHZlcidcbiAgICAgICAgRGVwZW5kZW5jeUluamVjdGlvblR5cGVFcnJvci5hc3NlcnQoXG4gICAgICAgICAgICB0YXJnZXRPclJlc29sdmVyLFxuICAgICAgICAgICAgZnVuY05hbWUsXG4gICAgICAgICAgICBwYXJhbU5hbWUsXG4gICAgICAgICAgICAnYSByZWdpc3RyYXRpb24sIGZ1bmN0aW9uIG9yIGNsYXNzJyxcbiAgICAgICAgICAgIHRhcmdldE9yUmVzb2x2ZXJcbiAgICAgICAgKVxuICAgICAgICBEZXBlbmRlbmN5SW5qZWN0aW9uVHlwZUVycm9yLmFzc2VydChcbiAgICAgICAgICAgIHR5cGVvZiB0YXJnZXRPclJlc29sdmVyID09PSAnZnVuY3Rpb24nLFxuICAgICAgICAgICAgZnVuY05hbWUsXG4gICAgICAgICAgICBwYXJhbU5hbWUsXG4gICAgICAgICAgICAnYSBmdW5jdGlvbiBvciBjbGFzcycsXG4gICAgICAgICAgICB0YXJnZXRPclJlc29sdmVyXG4gICAgICAgIClcbiAgICAgICAgY29uc3QgcmVzb2x2ZXI6IEJ1aWxkUmVzb2x2ZXI8VD4gJiBEaXNwb3NhYmxlUmVzb2x2ZXI8VD4gPSBpc0NsYXNzKHRhcmdldE9yUmVzb2x2ZXIgYXMgYW55KVxuICAgICAgICAgICAgPyBhc0NsYXNzKHRhcmdldE9yUmVzb2x2ZXIgYXMgQ29uc3RydWN0b3I8VD4sIG9wdHMpXG4gICAgICAgICAgICA6IGFzRnVuY3Rpb24odGFyZ2V0T3JSZXNvbHZlciBhcyBGdW5jdGlvblJldHVybmluZzxUPiwgb3B0cylcbiAgICAgICAgcmV0dXJuIHJlc29sdmVyLnJlc29sdmUoY29udGFpbmVyKVxuICAgIH1cblxuICAgIGZ1bmN0aW9uIGxvYWRNb2R1bGVzPEVTTSBleHRlbmRzIGJvb2xlYW4gPSBmYWxzZT4oXG4gICAgICAgIGdsb2JQYXR0ZXJuczogQXJyYXk8c3RyaW5nIHwgR2xvYldpdGhPcHRpb25zPixcbiAgICAgICAgb3B0czogTG9hZE1vZHVsZXNPcHRpb25zPEVTTT5cbiAgICApOiBFU00gZXh0ZW5kcyBmYWxzZSA/IElEZXBlbmRlbmN5SW5qZWN0aW9uQ29udGFpbmVyIDogUHJvbWlzZTxJRGVwZW5kZW5jeUluamVjdGlvbkNvbnRhaW5lcj5cbiAgICAvKipcbiAgICAgKiDlsIYgbGliL2xvYWRNb2R1bGVzIOe7keWumuWIsOatpOWuueWZqO+8jOW5tuaPkOS+m+WFtuS+nei1lumhueeahOecn+WunuWunueOsOOAguatpOWklu+8jOS7u+S9leS9v+eUqCBkZXBlbmRzT24gQVBJIOeahOaooeWdl+mDveWwhuiiq+ino+aekFxuICAgICAqIEBwYXJhbSBnbG9iUGF0dGVybnNcbiAgICAgKiBAcGFyYW0gb3B0c1xuICAgICAqL1xuICAgIGZ1bmN0aW9uIGxvYWRNb2R1bGVzPEVTTSBleHRlbmRzIGJvb2xlYW4gPSBmYWxzZT4oXG4gICAgICAgIGdsb2JQYXR0ZXJuczogQXJyYXk8c3RyaW5nIHwgR2xvYldpdGhPcHRpb25zPixcbiAgICAgICAgb3B0czogTG9hZE1vZHVsZXNPcHRpb25zPEVTTT5cbiAgICApOiBQcm9taXNlPElEZXBlbmRlbmN5SW5qZWN0aW9uQ29udGFpbmVyPiB8IElEZXBlbmRlbmN5SW5qZWN0aW9uQ29udGFpbmVyIHtcbiAgICAgICAgY29uc3QgX2xvYWRNb2R1bGVzRGVwcyA9IHtcbiAgICAgICAgICAgIHJlcXVpcmU6XG4gICAgICAgICAgICAgICAgb3B0aW9ucyEucmVxdWlyZSB8fFxuICAgICAgICAgICAgICAgIGZ1bmN0aW9uICh1cmk6IHN0cmluZykge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVxdWlyZSh1cmkpXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGxpc3RNb2R1bGVzLFxuICAgICAgICAgICAgY29udGFpbmVyXG4gICAgICAgIH1cbiAgICAgICAgaWYgKG9wdHM/LmVzTW9kdWxlcykge1xuICAgICAgICAgICAgX2xvYWRNb2R1bGVzRGVwcy5yZXF1aXJlID0gaW1wb3J0TW9kdWxlXG4gICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgIHJlYWxMb2FkTW9kdWxlcyhcbiAgICAgICAgICAgICAgICAgICAgX2xvYWRNb2R1bGVzRGVwcyxcbiAgICAgICAgICAgICAgICAgICAgZ2xvYlBhdHRlcm5zLFxuICAgICAgICAgICAgICAgICAgICBvcHRzXG4gICAgICAgICAgICAgICAgKSBhcyBQcm9taXNlPExvYWRNb2R1bGVzUmVzdWx0PlxuICAgICAgICAgICAgKS50aGVuKCgpID0+IGNvbnRhaW5lcilcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJlYWxMb2FkTW9kdWxlcyhfbG9hZE1vZHVsZXNEZXBzLCBnbG9iUGF0dGVybnMsIG9wdHMpXG4gICAgICAgICAgICByZXR1cm4gY29udGFpbmVyXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDplIDmr4Hor6Xlrrnlmajlj4rlhbblrZDlrrnlmajvvIzlr7nmiYDmnInlj6/ph4rmlL7nmoTms6jlhozov5vooYzmuIXnkIblubbmuIXpmaTnvJPlrZhcbiAgICAgKi9cbiAgICBhc3luYyBmdW5jdGlvbiBkaXNwb3NlKCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBjb25zdCBlbnRyaWVzOiBbKHN0cmluZyB8IHN5bWJvbCksIENhY2hlRW50cnldW10gPSBBcnJheS5mcm9tKGNvbnRhaW5lci5jYWNoZS5lbnRyaWVzKCkpXG4gICAgICAgIGNvbnRhaW5lci5jYWNoZS5jbGVhcigpXG4gICAgICAgIHJldHVybiBQcm9taXNlLmFsbChcbiAgICAgICAgICAgIGVudHJpZXMubWFwKChbbmFtZSwgZW50cnldKTogUHJvbWlzZTx2b2lkPiA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qge3Jlc29sdmVyLCB2YWx1ZX0gPSBlbnRyeVxuICAgICAgICAgICAgICAgIGNvbnN0IGRpc3Bvc2FibGU6IERpc3Bvc2FibGVSZXNvbHZlcjxhbnk+ID0gcmVzb2x2ZXIgYXMgRGlzcG9zYWJsZVJlc29sdmVyPGFueT5cbiAgICAgICAgICAgICAgICBpZiAoZGlzcG9zYWJsZS5kaXNwb3NlKSByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKSA9PiBkaXNwb3NhYmxlLmRpc3Bvc2UhKHZhbHVlKSlcbiAgICAgICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKClcbiAgICAgICAgICAgIH0pXG4gICAgICAgICkudGhlbigoKSA9PiB1bmRlZmluZWQpXG4gICAgfVxufVxuXG5SZWZsZWN0LmRlZmluZU1ldGFkYXRhKERJX0NPTlRBSU5FUl9DUkVBVE9SX0NPTlNUUlVDVE9SLCB0cnVlLCBjcmVhdGVDb250YWluZXIpXG4iXX0=
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunkHWCTWIVZ_cjs = require('./chunk-HWCTWIVZ.cjs');
|
|
4
|
+
var chunkX4AIZSIY_cjs = require('./chunk-X4AIZSIY.cjs');
|
|
5
|
+
var chunkHXWC4YN6_cjs = require('./chunk-HXWC4YN6.cjs');
|
|
6
|
+
var chunkGGY7LCMQ_cjs = require('./chunk-GGY7LCMQ.cjs');
|
|
7
|
+
|
|
8
|
+
// src/tests/controllers/Test1Controller.ts
|
|
9
|
+
chunkGGY7LCMQ_cjs.init_cjs_shims();
|
|
10
|
+
var _Test1Controller = class _Test1Controller extends chunkHXWC4YN6_cjs.Controller {
|
|
11
|
+
testBoolean;
|
|
12
|
+
async test(inp) {
|
|
13
|
+
return await this.test1(inp);
|
|
14
|
+
}
|
|
15
|
+
async test1(inp) {
|
|
16
|
+
console.log("this is test1 method, the inp is:", inp);
|
|
17
|
+
return this.forward(chunkHWCTWIVZ_cjs.Test2Controller, Object.assign(inp, { test2: true }));
|
|
18
|
+
}
|
|
19
|
+
async test2() {
|
|
20
|
+
return "this is a equal 1, b equal 1";
|
|
21
|
+
}
|
|
22
|
+
async init() {
|
|
23
|
+
console.log("Configurable variable in test controller1:", this.testBoolean);
|
|
24
|
+
}
|
|
25
|
+
async destroy() {
|
|
26
|
+
console.log(this.className, "destroy!!!!!!");
|
|
27
|
+
}
|
|
28
|
+
async beforeAction(subject, method) {
|
|
29
|
+
console.log("beforeAction", subject, method, this.getInternalProperty("uniqueObjectId"));
|
|
30
|
+
return true;
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
chunkGGY7LCMQ_cjs.__name(_Test1Controller, "Test1Controller");
|
|
34
|
+
chunkGGY7LCMQ_cjs.__decorateClass([
|
|
35
|
+
chunkHXWC4YN6_cjs.Configurable()
|
|
36
|
+
], _Test1Controller.prototype, "testBoolean", 2);
|
|
37
|
+
chunkGGY7LCMQ_cjs.__decorateClass([
|
|
38
|
+
chunkX4AIZSIY_cjs.Action({ a: 1 })
|
|
39
|
+
], _Test1Controller.prototype, "test", 1);
|
|
40
|
+
chunkGGY7LCMQ_cjs.__decorateClass([
|
|
41
|
+
chunkX4AIZSIY_cjs.Action({ a: 2 })
|
|
42
|
+
], _Test1Controller.prototype, "test1", 1);
|
|
43
|
+
chunkGGY7LCMQ_cjs.__decorateClass([
|
|
44
|
+
chunkX4AIZSIY_cjs.Action({ a: 1, b: 1 })
|
|
45
|
+
], _Test1Controller.prototype, "test2", 1);
|
|
46
|
+
var Test1Controller = _Test1Controller;
|
|
47
|
+
|
|
48
|
+
exports.Test1Controller = Test1Controller;
|
|
49
|
+
//# sourceMappingURL=out.js.map
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy90ZXN0cy9jb250cm9sbGVycy9UZXN0MUNvbnRyb2xsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUtPLElBQU0sbUJBQU4sTUFBTSx5QkFBd0IsV0FBVztBQUFBLEVBR3JDO0FBQUEsRUFHUCxNQUFhLEtBQUssS0FBSztBQUNuQixXQUFPLE1BQU0sS0FBSyxNQUFNLEdBQUc7QUFBQSxFQUUvQjtBQUFBLEVBR0EsTUFBYSxNQUFNLEtBQUs7QUFDcEIsWUFBUSxJQUFJLHFDQUFxQyxHQUFHO0FBQ3BELFdBQU8sS0FBSyxRQUFRLGlCQUFpQixPQUFPLE9BQU8sS0FBSyxFQUFDLE9BQU8sS0FBSSxDQUFDLENBQUM7QUFBQSxFQUMxRTtBQUFBLEVBR0EsTUFBYSxRQUFRO0FBQ2pCLFdBQU87QUFBQSxFQUNYO0FBQUEsRUFFQSxNQUFnQixPQUFzQjtBQUNsQyxZQUFRLElBQUksOENBQThDLEtBQUssV0FBVztBQUFBLEVBQzlFO0FBQUEsRUFFQSxNQUFnQixVQUF5QjtBQUNyQyxZQUFRLElBQUksS0FBSyxXQUFXLGVBQWU7QUFBQSxFQUMvQztBQUFBLEVBRUEsTUFBTSxhQUFhLFNBQThCLFFBQW9EO0FBQ2pHLFlBQVEsSUFBSSxnQkFBZ0IsU0FBUyxRQUFRLEtBQUssb0JBQW9CLGdCQUFnQixDQUFDO0FBQ3ZGLFdBQU87QUFBQSxFQUNYO0FBQ0o7QUFsQ2dEO0FBR3JDO0FBQUEsRUFETixhQUFhO0FBQUEsR0FGTCxpQkFHRjtBQUdNO0FBQUEsRUFEWixPQUFPLEVBQUMsR0FBRyxFQUFDLENBQUM7QUFBQSxHQUxMLGlCQU1JO0FBTUE7QUFBQSxFQURaLE9BQU8sRUFBQyxHQUFHLEVBQUMsQ0FBQztBQUFBLEdBWEwsaUJBWUk7QUFNQTtBQUFBLEVBRFosT0FBTyxFQUFDLEdBQUcsR0FBRyxHQUFHLEVBQUMsQ0FBQztBQUFBLEdBakJYLGlCQWtCSTtBQWxCVixJQUFNLGtCQUFOIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb250cm9sbGVyfSBmcm9tICcuLi8uLi9saWIvYmFzZS9Db250cm9sbGVyLmpzJ1xuaW1wb3J0IHtBY3Rpb259IGZyb20gJy4uLy4uL2RlY29yYXRvcnMvQ29udHJvbGxlckRlY29yYXRvcnMuanMnXG5pbXBvcnQge0NvbmZpZ3VyYWJsZX0gZnJvbSAnLi4vLi4vZGVjb3JhdG9ycy9EZXBlbmRlbmN5SW5qZWN0aW9uRGVjb3JhdG9ycy5qcydcbmltcG9ydCB7VGVzdDJDb250cm9sbGVyfSBmcm9tICcuL1Rlc3QyQ29udHJvbGxlci5qcydcblxuZXhwb3J0IGNsYXNzIFRlc3QxQ29udHJvbGxlciBleHRlbmRzIENvbnRyb2xsZXIge1xuXG4gICAgQENvbmZpZ3VyYWJsZSgpXG4gICAgcHVibGljIHRlc3RCb29sZWFuOiBib29sZWFuXG5cbiAgICBAQWN0aW9uKHthOiAxfSlcbiAgICBwdWJsaWMgYXN5bmMgdGVzdChpbnApIHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMudGVzdDEoaW5wKVxuICAgICAgICAvLyByZXR1cm4gdGhpc1xuICAgIH1cblxuICAgIEBBY3Rpb24oe2E6IDJ9KVxuICAgIHB1YmxpYyBhc3luYyB0ZXN0MShpbnApIHtcbiAgICAgICAgY29uc29sZS5sb2coJ3RoaXMgaXMgdGVzdDEgbWV0aG9kLCB0aGUgaW5wIGlzOicsIGlucClcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9yd2FyZChUZXN0MkNvbnRyb2xsZXIsIE9iamVjdC5hc3NpZ24oaW5wLCB7dGVzdDI6IHRydWV9KSlcbiAgICB9XG5cbiAgICBAQWN0aW9uKHthOiAxLCBiOiAxfSlcbiAgICBwdWJsaWMgYXN5bmMgdGVzdDIoKSB7XG4gICAgICAgIHJldHVybiAndGhpcyBpcyBhIGVxdWFsIDEsIGIgZXF1YWwgMSdcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgYXN5bmMgaW5pdCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgY29uc29sZS5sb2coJ0NvbmZpZ3VyYWJsZSB2YXJpYWJsZSBpbiB0ZXN0IGNvbnRyb2xsZXIxOicsIHRoaXMudGVzdEJvb2xlYW4pXG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGFzeW5jIGRlc3Ryb3koKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGNvbnNvbGUubG9nKHRoaXMuY2xhc3NOYW1lLCAnZGVzdHJveSEhISEhIScpXG4gICAgfVxuXG4gICAgYXN5bmMgYmVmb3JlQWN0aW9uKHN1YmplY3Q6IFJlY29yZDxzdHJpbmcsIGFueT4sIG1ldGhvZDogc3RyaW5nIHwgc3ltYm9sIHwgbnVtYmVyKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgICAgIGNvbnNvbGUubG9nKCdiZWZvcmVBY3Rpb24nLCBzdWJqZWN0LCBtZXRob2QsIHRoaXMuZ2V0SW50ZXJuYWxQcm9wZXJ0eSgndW5pcXVlT2JqZWN0SWQnKSlcbiAgICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { Interval } from './chunk-QXTBP6TW.js';
|
|
2
|
+
import { Inject, Application } from './chunk-7MJAWOWL.js';
|
|
3
|
+
import { init_esm_shims, __name, __decorateClass } from './chunk-5NK7E2HA.js';
|
|
4
|
+
|
|
5
|
+
// src/tests/intervals/TestInterval.ts
|
|
6
|
+
init_esm_shims();
|
|
7
|
+
var _TestInterval = class _TestInterval extends Interval {
|
|
8
|
+
app;
|
|
9
|
+
testComponent;
|
|
10
|
+
testObject;
|
|
11
|
+
executor() {
|
|
12
|
+
console.log(this.className, "got username:", this.testObject.getUsername());
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
__name(_TestInterval, "TestInterval");
|
|
16
|
+
__decorateClass([
|
|
17
|
+
Inject(Application)
|
|
18
|
+
], _TestInterval.prototype, "app", 2);
|
|
19
|
+
__decorateClass([
|
|
20
|
+
Inject()
|
|
21
|
+
], _TestInterval.prototype, "testComponent", 2);
|
|
22
|
+
__decorateClass([
|
|
23
|
+
Inject()
|
|
24
|
+
], _TestInterval.prototype, "testObject", 2);
|
|
25
|
+
var TestInterval = _TestInterval;
|
|
26
|
+
|
|
27
|
+
export { TestInterval };
|
|
28
|
+
//# sourceMappingURL=out.js.map
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy90ZXN0cy9pbnRlcnZhbHMvVGVzdEludGVydmFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFNTyxJQUFNLGdCQUFOLE1BQU0sc0JBQXFCLFNBQVM7QUFBQSxFQUdwQjtBQUFBLEVBR0E7QUFBQSxFQUdBO0FBQUEsRUFFVCxXQUFpQztBQUN2QyxZQUFRLElBQUksS0FBSyxXQUFXLGlCQUFpQixLQUFLLFdBQVcsWUFBWSxDQUFDO0FBQUEsRUFDOUU7QUFDSjtBQWQyQztBQUdwQjtBQUFBLEVBRGxCLE9BQU8sV0FBVztBQUFBLEdBRlYsY0FHVTtBQUdBO0FBQUEsRUFEbEIsT0FBTztBQUFBLEdBTEMsY0FNVTtBQUdBO0FBQUEsRUFEbEIsT0FBTztBQUFBLEdBUkMsY0FTVTtBQVRoQixJQUFNLGVBQU4iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FwcGxpY2F0aW9uLCBJbnRlcnZhbH0gZnJvbSAnLi4vLi4vQ29yZS5qcydcbmltcG9ydCB7VGVzdENvbXBvbmVudH0gZnJvbSAnLi4vY29tcG9uZW50cy9UZXN0Q29tcG9uZW50LmpzJ1xuaW1wb3J0IHtJbmplY3R9IGZyb20gJy4uLy4uL2RlY29yYXRvcnMvRGVwZW5kZW5jeUluamVjdGlvbkRlY29yYXRvcnMuanMnXG5pbXBvcnQge1Rlc3RPYmplY3R9IGZyb20gJy4uL29iamVjdHMvVGVzdE9iamVjdC5qcydcbmltcG9ydCB7RElfQ09OVEFJTkVSX0lOSkVDVF9JU19NT0RVTEVfR0VUVEVSfSBmcm9tICcuLi8uLi9jb25zdGFudHMvTWV0YWRhdGFLZXkuanMnXG5cbmV4cG9ydCBjbGFzcyBUZXN0SW50ZXJ2YWwgZXh0ZW5kcyBJbnRlcnZhbCB7XG5cbiAgICBASW5qZWN0KEFwcGxpY2F0aW9uKVxuICAgIHByb3RlY3RlZCByZWFkb25seSBhcHA6IEFwcGxpY2F0aW9uXG5cbiAgICBASW5qZWN0KClcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgdGVzdENvbXBvbmVudDogVGVzdENvbXBvbmVudFxuXG4gICAgQEluamVjdCgpXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHRlc3RPYmplY3Q6IFRlc3RPYmplY3RcblxuICAgIHByb3RlY3RlZCBleGVjdXRvcigpOiBQcm9taXNlPHZvaWQ+IHwgdm9pZCB7XG4gICAgICAgIGNvbnNvbGUubG9nKHRoaXMuY2xhc3NOYW1lLCAnZ290IHVzZXJuYW1lOicsIHRoaXMudGVzdE9iamVjdC5nZXRVc2VybmFtZSgpKVxuICAgIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { SymmetricEncryption } from './chunk-LJTCXKC4.js';
|
|
2
|
+
import { init_esm_shims, __name } from './chunk-5NK7E2HA.js';
|
|
3
|
+
|
|
4
|
+
// src/lib/crypto/camellia/CAMELLIA256.ts
|
|
5
|
+
init_esm_shims();
|
|
6
|
+
var _CAMELLIA256 = class _CAMELLIA256 extends SymmetricEncryption {
|
|
7
|
+
ivLength = 16;
|
|
8
|
+
keyLength = 32;
|
|
9
|
+
constructor(key, iv) {
|
|
10
|
+
super();
|
|
11
|
+
if (!arguments.length)
|
|
12
|
+
return;
|
|
13
|
+
const allowNullIV = iv === void 0;
|
|
14
|
+
const algorithm = `camellia-256-${allowNullIV ? "ecb" : "cbc"}`;
|
|
15
|
+
this.initCipher(algorithm, allowNullIV, key, iv);
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
__name(_CAMELLIA256, "CAMELLIA256");
|
|
19
|
+
var CAMELLIA256 = _CAMELLIA256;
|
|
20
|
+
|
|
21
|
+
export { CAMELLIA256 };
|
|
22
|
+
//# sourceMappingURL=out.js.map
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9saWIvY3J5cHRvL2NhbWVsbGlhL0NBTUVMTElBMjU2LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBO0FBR08sSUFBTSxlQUFOLE1BQU0scUJBQW9CLG9CQUFvQjtBQUFBLEVBRTlCLFdBQW1CO0FBQUEsRUFFbkIsWUFBb0I7QUFBQSxFQUl2QyxZQUFZLEtBQXNCLElBQXNCO0FBQ3BELFVBQU07QUFDTixRQUFJLENBQUMsVUFBVTtBQUFRO0FBQ3ZCLFVBQU0sY0FBdUIsT0FBTztBQUNwQyxVQUFNLFlBQW9CLGdCQUFnQixjQUFjLFFBQVEsS0FBSztBQUNyRSxTQUFLLFdBQVcsV0FBVyxhQUFhLEtBQUssRUFBRTtBQUFBLEVBQ25EO0FBQ0o7QUFmcUQ7QUFBOUMsSUFBTSxjQUFOIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICdyZWZsZWN0LW1ldGFkYXRhJ1xuaW1wb3J0IHtTeW1tZXRyaWNFbmNyeXB0aW9ufSBmcm9tICcuLi8uLi9iYXNlL2Fic3RyYWN0cy9TeW1tZXRyaWNFbmNyeXB0aW9uLmpzJ1xuXG5leHBvcnQgY2xhc3MgQ0FNRUxMSUEyNTYgZXh0ZW5kcyBTeW1tZXRyaWNFbmNyeXB0aW9uIHtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBpdkxlbmd0aDogbnVtYmVyID0gMTZcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBrZXlMZW5ndGg6IG51bWJlciA9IDMyXG5cbiAgICBjb25zdHJ1Y3RvcihrZXk6IEJ1ZmZlciwgaXY/OiBCdWZmZXIpXG4gICAgY29uc3RydWN0b3Ioa2V5OiBzdHJpbmcsIGl2Pzogc3RyaW5nKVxuICAgIGNvbnN0cnVjdG9yKGtleTogQnVmZmVyIHwgc3RyaW5nLCBpdj86IEJ1ZmZlciB8IHN0cmluZykge1xuICAgICAgICBzdXBlcigpXG4gICAgICAgIGlmICghYXJndW1lbnRzLmxlbmd0aCkgcmV0dXJuXG4gICAgICAgIGNvbnN0IGFsbG93TnVsbElWOiBib29sZWFuID0gaXYgPT09IHVuZGVmaW5lZFxuICAgICAgICBjb25zdCBhbGdvcml0aG06IHN0cmluZyA9IGBjYW1lbGxpYS0yNTYtJHthbGxvd051bGxJViA/ICdlY2InIDogJ2NiYyd9YFxuICAgICAgICB0aGlzLmluaXRDaXBoZXIoYWxnb3JpdGhtLCBhbGxvd051bGxJViwga2V5LCBpdilcbiAgICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Exception } from './chunk-HODDA5D5.js';
|
|
2
|
+
import { init_esm_shims, __name } from './chunk-5NK7E2HA.js';
|
|
3
|
+
|
|
4
|
+
// src/exceptions/InvalidDTOValueException.ts
|
|
5
|
+
init_esm_shims();
|
|
6
|
+
var _InvalidDTOValueException = class _InvalidDTOValueException extends Exception {
|
|
7
|
+
errno = "E_INVALID_DTO_VALUE";
|
|
8
|
+
};
|
|
9
|
+
__name(_InvalidDTOValueException, "InvalidDTOValueException");
|
|
10
|
+
var InvalidDTOValueException = _InvalidDTOValueException;
|
|
11
|
+
|
|
12
|
+
export { InvalidDTOValueException };
|
|
13
|
+
//# sourceMappingURL=out.js.map
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9leGNlcHRpb25zL0ludmFsaWREVE9WYWx1ZUV4Y2VwdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQTtBQUVPLElBQU0sNEJBQU4sTUFBTSxrQ0FBaUMsVUFBVTtBQUFBLEVBQzdDLFFBQXlCO0FBQ3BDO0FBRndEO0FBQWpELElBQU0sMkJBQU4iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0V4Y2VwdGlvbn0gZnJvbSAnLi4vbGliL2Jhc2UvYWJzdHJhY3RzL0V4Y2VwdGlvbi5qcydcblxuZXhwb3J0IGNsYXNzIEludmFsaWREVE9WYWx1ZUV4Y2VwdGlvbiBleHRlbmRzIEV4Y2VwdGlvbiB7XG4gICAgcHVibGljIGVycm5vOiBudW1iZXIgfCBzdHJpbmcgPSAnRV9JTlZBTElEX0RUT19WQUxVRSdcbn1cbiJdfQ==
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { init_esm_shims } from './chunk-5NK7E2HA.js';
|
|
2
|
+
|
|
3
|
+
// src/interfaces/ISortArrayOptions.ts
|
|
4
|
+
init_esm_shims();
|
|
5
|
+
//# sourceMappingURL=out.js.map
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbnRlcmZhY2VzL0lTb3J0QXJyYXlPcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJ0eXBlIFRPcmRlciA9ICdhc2MnIHwgJ2Rlc2MnXG50eXBlIFRDb21wdXRlZEZ1bmN0aW9uPFQ+ID0gKCgpID0+IGFueSkgfCAoKGl0ZW06IFQpID0+IGFueSlcbnR5cGUgVENvbXB1dGVkPFQ+ID0geyBbY29tcHV0ZWRLZXk6IHN0cmluZ106IFRDb21wdXRlZEZ1bmN0aW9uPFQ+IH1cblxuZXhwb3J0IGludGVyZmFjZSBJU29ydEFycmF5T3B0aW9uczxUID0gYW55PiB7XG4gICAgcmVhZG9ubHkgYnk/OiBrZXlvZiBUIHwgc3RyaW5nXG4gICAgcmVhZG9ubHkgb3JkZXI/OiBUT3JkZXJcbiAgICByZWFkb25seSBjb21wdXRlZD86IFRDb21wdXRlZDxUPlxufVxuIl19
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunkHBPRX3WA_cjs = require('./chunk-HBPRX3WA.cjs');
|
|
4
|
+
var chunkGGY7LCMQ_cjs = require('./chunk-GGY7LCMQ.cjs');
|
|
5
|
+
|
|
6
|
+
// src/exceptions/controller/NoMatchedControllerActionPatternException.ts
|
|
7
|
+
chunkGGY7LCMQ_cjs.init_cjs_shims();
|
|
8
|
+
var _NoMatchedControllerActionPatternException = class _NoMatchedControllerActionPatternException extends chunkHBPRX3WA_cjs.Exception {
|
|
9
|
+
errno = "E_NO_MATCHED_CONTROLLER_ACTION_PATTERN";
|
|
10
|
+
};
|
|
11
|
+
chunkGGY7LCMQ_cjs.__name(_NoMatchedControllerActionPatternException, "NoMatchedControllerActionPatternException");
|
|
12
|
+
var NoMatchedControllerActionPatternException = _NoMatchedControllerActionPatternException;
|
|
13
|
+
|
|
14
|
+
exports.NoMatchedControllerActionPatternException = NoMatchedControllerActionPatternException;
|
|
15
|
+
//# sourceMappingURL=out.js.map
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9leGNlcHRpb25zL2NvbnRyb2xsZXIvTm9NYXRjaGVkQ29udHJvbGxlckFjdGlvblBhdHRlcm5FeGNlcHRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7QUFFTyxJQUFNLDZDQUFOLE1BQU0sbURBQWtELFVBQVU7QUFBQSxFQUM5RCxRQUF5QjtBQUNwQztBQUZ5RTtBQUFsRSxJQUFNLDRDQUFOIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtFeGNlcHRpb259IGZyb20gJy4uLy4uL2xpYi9iYXNlL2Fic3RyYWN0cy9FeGNlcHRpb24uanMnXG5cbmV4cG9ydCBjbGFzcyBOb01hdGNoZWRDb250cm9sbGVyQWN0aW9uUGF0dGVybkV4Y2VwdGlvbiBleHRlbmRzIEV4Y2VwdGlvbiB7XG4gICAgcHVibGljIGVycm5vOiBudW1iZXIgfCBzdHJpbmcgPSAnRV9OT19NQVRDSEVEX0NPTlRST0xMRVJfQUNUSU9OX1BBVFRFUk4nXG59XG4iXX0=
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { AsymmetricEncryption } from './chunk-BKCT2HSQ.js';
|
|
2
|
+
import { As } from './chunk-XO6M5AYN.js';
|
|
3
|
+
import { init_esm_shims, __name } from './chunk-5NK7E2HA.js';
|
|
4
|
+
import { createPrivateKey, createPublicKey, privateDecrypt, publicEncrypt, generateKeyPair, sign, verify } from 'crypto';
|
|
5
|
+
|
|
6
|
+
// src/lib/crypto/RSA.ts
|
|
7
|
+
init_esm_shims();
|
|
8
|
+
var _RSA = class _RSA extends AsymmetricEncryption {
|
|
9
|
+
options = {
|
|
10
|
+
signatureAlgorithm: "sha256"
|
|
11
|
+
};
|
|
12
|
+
createPrivateKey(privateKeyString) {
|
|
13
|
+
return createPrivateKey(privateKeyString);
|
|
14
|
+
}
|
|
15
|
+
createPublicKey(publicKeyString) {
|
|
16
|
+
return createPublicKey(publicKeyString);
|
|
17
|
+
}
|
|
18
|
+
decrypt(encryptedMessage) {
|
|
19
|
+
return privateDecrypt(this.privateKey, Buffer.from(encryptedMessage, "base64")).toString();
|
|
20
|
+
}
|
|
21
|
+
encrypt(message) {
|
|
22
|
+
return publicEncrypt(this.publicKey, Buffer.from(message)).toString("base64");
|
|
23
|
+
}
|
|
24
|
+
async generateKeyPair(options) {
|
|
25
|
+
return new Promise((resolve, reject) => {
|
|
26
|
+
options = options ? options : {};
|
|
27
|
+
options.modulusLength = options.modulusLength ? options.modulusLength : 1024;
|
|
28
|
+
options.publicExponent = options.publicExponent ? options.publicExponent : 65537;
|
|
29
|
+
options.publicKeyEncoding = options.publicKeyEncoding ? options.publicKeyEncoding : {};
|
|
30
|
+
options.publicKeyEncoding.type = options.publicKeyEncoding.type ? options.publicKeyEncoding.type : "pkcs1";
|
|
31
|
+
options.publicKeyEncoding.format = options.publicKeyEncoding.format ? options.publicKeyEncoding.format : "pem";
|
|
32
|
+
options.privateKeyEncoding = options.privateKeyEncoding ? options.privateKeyEncoding : {};
|
|
33
|
+
options.privateKeyEncoding.format = options.privateKeyEncoding.format ? options.privateKeyEncoding.format : "pem";
|
|
34
|
+
options.privateKeyEncoding.type = options.privateKeyEncoding.type ? options.privateKeyEncoding.type : "pkcs1";
|
|
35
|
+
return generateKeyPair("rsa", As(options), (err, publicKey, privateKey) => {
|
|
36
|
+
if (err)
|
|
37
|
+
return reject(err);
|
|
38
|
+
return resolve({
|
|
39
|
+
publicKey: typeof publicKey === "string" ? publicKey : publicKey.toString("base64"),
|
|
40
|
+
privateKey: typeof privateKey === "string" ? privateKey : privateKey.toString("base64")
|
|
41
|
+
});
|
|
42
|
+
});
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
sign(message) {
|
|
46
|
+
return sign(this.options.signatureAlgorithm, Buffer.from(message), this.privateKey).toString("base64");
|
|
47
|
+
}
|
|
48
|
+
verify(message, sign2) {
|
|
49
|
+
return verify(this.options.signatureAlgorithm, Buffer.from(message), this.publicKey, Buffer.from(sign2, "base64"));
|
|
50
|
+
}
|
|
51
|
+
static async generateKeyPair(options) {
|
|
52
|
+
return super.generateKeyPair(options);
|
|
53
|
+
}
|
|
54
|
+
static async loadKeyPair(keyPair, options) {
|
|
55
|
+
return As(super.loadKeyPair(keyPair, options));
|
|
56
|
+
}
|
|
57
|
+
static async loadPublicKey(inp, options) {
|
|
58
|
+
return super.loadPublicKey(inp, options);
|
|
59
|
+
}
|
|
60
|
+
static async loadPrivateKey(inp, options) {
|
|
61
|
+
return super.loadPrivateKey(inp, options);
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
__name(_RSA, "RSA");
|
|
65
|
+
var RSA = _RSA;
|
|
66
|
+
|
|
67
|
+
export { RSA };
|
|
68
|
+
//# sourceMappingURL=out.js.map
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9saWIvY3J5cHRvL1JTQS50cyJdLCJuYW1lcyI6WyJzaWduIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQTtBQU1BO0FBQUEsRUFDSTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFFQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLE9BQ0c7QUE2Q0EsSUFBTSxPQUFOLE1BQU0sYUFBWSxxQkFBcUI7QUFBQSxFQUVoQyxVQUFzQjtBQUFBLElBQzVCLG9CQUFvQjtBQUFBLEVBQ3hCO0FBQUEsRUFFVSxpQkFBaUIsa0JBQXFDO0FBQzVELFdBQU8saUJBQWlCLGdCQUFnQjtBQUFBLEVBQzVDO0FBQUEsRUFFVSxnQkFBZ0IsaUJBQW9DO0FBQzFELFdBQU8sZ0JBQWdCLGVBQWU7QUFBQSxFQUMxQztBQUFBLEVBRVUsUUFBUSxrQkFBa0M7QUFDaEQsV0FBTyxlQUFlLEtBQUssWUFBWSxPQUFPLEtBQUssa0JBQWtCLFFBQVEsQ0FBQyxFQUFFLFNBQVM7QUFBQSxFQUM3RjtBQUFBLEVBRVUsUUFBUSxTQUF5QjtBQUN2QyxXQUFPLGNBQWMsS0FBSyxXQUFXLE9BQU8sS0FBSyxPQUFPLENBQUMsRUFBRSxTQUFTLFFBQVE7QUFBQSxFQUNoRjtBQUFBLEVBRUEsTUFBZ0IsZ0JBQWdCLFNBQW1FO0FBQy9GLFdBQU8sSUFBSSxRQUFRLENBQUMsU0FBUyxXQUFXO0FBQ3BDLGdCQUFVLFVBQVUsVUFBVSxDQUFDO0FBQy9CLGNBQVEsZ0JBQWdCLFFBQVEsZ0JBQWdCLFFBQVEsZ0JBQWdCO0FBQ3hFLGNBQVEsaUJBQWlCLFFBQVEsaUJBQWlCLFFBQVEsaUJBQWlCO0FBQzNFLGNBQVEsb0JBQW9CLFFBQVEsb0JBQW9CLFFBQVEsb0JBQW9CLENBQUM7QUFDckYsY0FBUSxrQkFBa0IsT0FBTyxRQUFRLGtCQUFrQixPQUFPLFFBQVEsa0JBQWtCLE9BQU87QUFDbkcsY0FBUSxrQkFBa0IsU0FBUyxRQUFRLGtCQUFrQixTQUFTLFFBQVEsa0JBQWtCLFNBQVM7QUFDekcsY0FBUSxxQkFBcUIsUUFBUSxxQkFBcUIsUUFBUSxxQkFBcUIsQ0FBQztBQUN4RixjQUFRLG1CQUFtQixTQUFTLFFBQVEsbUJBQW1CLFNBQVMsUUFBUSxtQkFBbUIsU0FBUztBQUM1RyxjQUFRLG1CQUFtQixPQUFPLFFBQVEsbUJBQW1CLE9BQU8sUUFBUSxtQkFBbUIsT0FBTztBQUN0RyxhQUFPLGdCQUFnQixPQUFPLEdBQVEsT0FBTyxHQUFHLENBQUMsS0FBbUIsV0FBNEIsZUFBc0M7QUFDbEksWUFBSTtBQUFLLGlCQUFPLE9BQU8sR0FBRztBQUMxQixlQUFPLFFBQVE7QUFBQSxVQUNYLFdBQVcsT0FBTyxjQUFjLFdBQVcsWUFBWSxVQUFVLFNBQVMsUUFBUTtBQUFBLFVBQ2xGLFlBQVksT0FBTyxlQUFlLFdBQVcsYUFBYSxXQUFXLFNBQVMsUUFBUTtBQUFBLFFBQzFGLENBQUM7QUFBQSxNQUNMLENBQUM7QUFBQSxJQUNMLENBQUM7QUFBQSxFQUNMO0FBQUEsRUFFVSxLQUFLLFNBQXlCO0FBQ3BDLFdBQU8sS0FBSyxLQUFLLFFBQVEsb0JBQW9CLE9BQU8sS0FBSyxPQUFPLEdBQUcsS0FBSyxVQUFVLEVBQUUsU0FBUyxRQUFRO0FBQUEsRUFDekc7QUFBQSxFQUVVLE9BQU8sU0FBaUJBLE9BQXVCO0FBQ3JELFdBQU8sT0FBTyxLQUFLLFFBQVEsb0JBQW9CLE9BQU8sS0FBSyxPQUFPLEdBQUcsS0FBSyxXQUFXLE9BQU8sS0FBS0EsT0FBTSxRQUFRLENBQUM7QUFBQSxFQUNwSDtBQUFBLEVBRUEsYUFBb0IsZ0JBQWdCLFNBQW1FO0FBQ25HLFdBQU8sTUFBTSxnQkFBZ0IsT0FBTztBQUFBLEVBQ3hDO0FBQUEsRUFFQSxhQUFvQixZQUFrRCxTQUFzQyxTQUFrQztBQUMxSSxXQUFPLEdBQU0sTUFBTSxZQUFpQixTQUFTLE9BQU8sQ0FBQztBQUFBLEVBQ3pEO0FBQUEsRUFFQSxhQUFvQixjQUFjLEtBQXdCLFNBQTJEO0FBQ2pILFdBQU8sTUFBTSxjQUFjLEtBQUssT0FBTztBQUFBLEVBQzNDO0FBQUEsRUFFQSxhQUFvQixlQUFlLEtBQXdCLFNBQTREO0FBQ25ILFdBQU8sTUFBTSxlQUFlLEtBQUssT0FBTztBQUFBLEVBQzVDO0FBRUo7QUFuRThDO0FBQXZDLElBQU0sTUFBTiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAncmVmbGVjdC1tZXRhZGF0YSdcbmltcG9ydCB7XG4gICAgQXN5bW1ldHJpY0VuY3J5cHRpb24sXG4gICAgQXN5bW1ldHJpY0VuY3J5cHRpb25LZXlQYWlyLCBBc3ltbWV0cmljRW5jcnlwdGlvblByaXZhdGUsXG4gICAgQXN5bW1ldHJpY0VuY3J5cHRpb25QdWJsaWNcbn0gZnJvbSAnLi4vYmFzZS9hYnN0cmFjdHMvQXN5bW1ldHJpY0VuY3J5cHRpb24uanMnXG5pbXBvcnQge1xuICAgIGNyZWF0ZVByaXZhdGVLZXksXG4gICAgY3JlYXRlUHVibGljS2V5LFxuICAgIGdlbmVyYXRlS2V5UGFpcixcbiAgICBLZXlPYmplY3QsXG4gICAgcHJpdmF0ZURlY3J5cHQsXG4gICAgcHVibGljRW5jcnlwdCxcbiAgICBzaWduLFxuICAgIHZlcmlmeVxufSBmcm9tICdjcnlwdG8nXG5pbXBvcnQge0FzfSBmcm9tICcuLi8uLi9VdGlsaXRpZXMuanMnXG5pbXBvcnQge1BhdGhMaWtlfSBmcm9tICdmcydcblxuZXhwb3J0IGludGVyZmFjZSBSU0FLZXlQYWlyT3B0aW9ucyB7XG4gICAgLyoqXG4gICAgICog5a+G6ZKl6ZW/5bqm77yM5LulYml05Li65Y2V5L2NXG4gICAgICogQGRlZmF1bHQgMTAyNFxuICAgICAqL1xuICAgIG1vZHVsdXNMZW5ndGg/OiBudW1iZXJcbiAgICAvKipcbiAgICAgKiDlhazpkqXmjIfmlbBcbiAgICAgKiBAZGVmYXVsdCAweDEwMDAxXG4gICAgICovXG4gICAgcHVibGljRXhwb25lbnQ/OiBudW1iZXIgfCB1bmRlZmluZWRcbiAgICBwdWJsaWNLZXlFbmNvZGluZz86IHtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIEBkZWZhdWx0IHBrY3MxXG4gICAgICAgICAqL1xuICAgICAgICB0eXBlPzogJ3BrY3MxJyB8ICdzcGtpJ1xuICAgICAgICAvKipcbiAgICAgICAgICogQGRlZmF1bHQgcGVtXG4gICAgICAgICAqL1xuICAgICAgICBmb3JtYXQ/OiAncGVtJyB8ICdkZXInXG4gICAgfVxuICAgIHByaXZhdGVLZXlFbmNvZGluZz86IHtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIEBkZWZhdWx0IHBlbVxuICAgICAgICAgKi9cbiAgICAgICAgZm9ybWF0PzogJ3BlbScgfCAnZGVyJ1xuICAgICAgICAvKipcbiAgICAgICAgICogQGRlZmF1bHQgcGtjczFcbiAgICAgICAgICovXG4gICAgICAgIHR5cGU/OiAncGtjczEnIHwgJ3BrY3M4JztcbiAgICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUlNBT3B0aW9ucyB7XG4gICAgLyoqXG4gICAgICog562+5ZCN5oiW6aqM562+5pe25omA5L2/55So55qE5ZOI5biM566X5rOVXG4gICAgICogQGRlZmF1bHQgc2hhMjU2XG4gICAgICovXG4gICAgc2lnbmF0dXJlQWxnb3JpdGhtPzogc3RyaW5nXG59XG5cbmV4cG9ydCBjbGFzcyBSU0EgZXh0ZW5kcyBBc3ltbWV0cmljRW5jcnlwdGlvbiB7XG5cbiAgICBwcm90ZWN0ZWQgb3B0aW9uczogUlNBT3B0aW9ucyA9IHtcbiAgICAgICAgc2lnbmF0dXJlQWxnb3JpdGhtOiAnc2hhMjU2J1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBjcmVhdGVQcml2YXRlS2V5KHByaXZhdGVLZXlTdHJpbmc6IHN0cmluZyk6IEtleU9iamVjdCB7XG4gICAgICAgIHJldHVybiBjcmVhdGVQcml2YXRlS2V5KHByaXZhdGVLZXlTdHJpbmcpXG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGNyZWF0ZVB1YmxpY0tleShwdWJsaWNLZXlTdHJpbmc6IHN0cmluZyk6IEtleU9iamVjdCB7XG4gICAgICAgIHJldHVybiBjcmVhdGVQdWJsaWNLZXkocHVibGljS2V5U3RyaW5nKVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBkZWNyeXB0KGVuY3J5cHRlZE1lc3NhZ2U6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBwcml2YXRlRGVjcnlwdCh0aGlzLnByaXZhdGVLZXksIEJ1ZmZlci5mcm9tKGVuY3J5cHRlZE1lc3NhZ2UsICdiYXNlNjQnKSkudG9TdHJpbmcoKVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBlbmNyeXB0KG1lc3NhZ2U6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBwdWJsaWNFbmNyeXB0KHRoaXMucHVibGljS2V5LCBCdWZmZXIuZnJvbShtZXNzYWdlKSkudG9TdHJpbmcoJ2Jhc2U2NCcpXG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGFzeW5jIGdlbmVyYXRlS2V5UGFpcihvcHRpb25zPzogUlNBS2V5UGFpck9wdGlvbnMpOiBQcm9taXNlPEFzeW1tZXRyaWNFbmNyeXB0aW9uS2V5UGFpcj4ge1xuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICAgICAgb3B0aW9ucyA9IG9wdGlvbnMgPyBvcHRpb25zIDoge31cbiAgICAgICAgICAgIG9wdGlvbnMubW9kdWx1c0xlbmd0aCA9IG9wdGlvbnMubW9kdWx1c0xlbmd0aCA/IG9wdGlvbnMubW9kdWx1c0xlbmd0aCA6IDEwMjRcbiAgICAgICAgICAgIG9wdGlvbnMucHVibGljRXhwb25lbnQgPSBvcHRpb25zLnB1YmxpY0V4cG9uZW50ID8gb3B0aW9ucy5wdWJsaWNFeHBvbmVudCA6IDB4MTAwMDFcbiAgICAgICAgICAgIG9wdGlvbnMucHVibGljS2V5RW5jb2RpbmcgPSBvcHRpb25zLnB1YmxpY0tleUVuY29kaW5nID8gb3B0aW9ucy5wdWJsaWNLZXlFbmNvZGluZyA6IHt9XG4gICAgICAgICAgICBvcHRpb25zLnB1YmxpY0tleUVuY29kaW5nLnR5cGUgPSBvcHRpb25zLnB1YmxpY0tleUVuY29kaW5nLnR5cGUgPyBvcHRpb25zLnB1YmxpY0tleUVuY29kaW5nLnR5cGUgOiAncGtjczEnXG4gICAgICAgICAgICBvcHRpb25zLnB1YmxpY0tleUVuY29kaW5nLmZvcm1hdCA9IG9wdGlvbnMucHVibGljS2V5RW5jb2RpbmcuZm9ybWF0ID8gb3B0aW9ucy5wdWJsaWNLZXlFbmNvZGluZy5mb3JtYXQgOiAncGVtJ1xuICAgICAgICAgICAgb3B0aW9ucy5wcml2YXRlS2V5RW5jb2RpbmcgPSBvcHRpb25zLnByaXZhdGVLZXlFbmNvZGluZyA/IG9wdGlvbnMucHJpdmF0ZUtleUVuY29kaW5nIDoge31cbiAgICAgICAgICAgIG9wdGlvbnMucHJpdmF0ZUtleUVuY29kaW5nLmZvcm1hdCA9IG9wdGlvbnMucHJpdmF0ZUtleUVuY29kaW5nLmZvcm1hdCA/IG9wdGlvbnMucHJpdmF0ZUtleUVuY29kaW5nLmZvcm1hdCA6ICdwZW0nXG4gICAgICAgICAgICBvcHRpb25zLnByaXZhdGVLZXlFbmNvZGluZy50eXBlID0gb3B0aW9ucy5wcml2YXRlS2V5RW5jb2RpbmcudHlwZSA/IG9wdGlvbnMucHJpdmF0ZUtleUVuY29kaW5nLnR5cGUgOiAncGtjczEnXG4gICAgICAgICAgICByZXR1cm4gZ2VuZXJhdGVLZXlQYWlyKCdyc2EnLCBBczxhbnk+KG9wdGlvbnMpLCAoZXJyOiBFcnJvciB8IG51bGwsIHB1YmxpY0tleTogc3RyaW5nIHwgQnVmZmVyLCBwcml2YXRlS2V5OiBzdHJpbmcgfCBCdWZmZXIpOiB2b2lkID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoZXJyKSByZXR1cm4gcmVqZWN0KGVycilcbiAgICAgICAgICAgICAgICByZXR1cm4gcmVzb2x2ZSh7XG4gICAgICAgICAgICAgICAgICAgIHB1YmxpY0tleTogdHlwZW9mIHB1YmxpY0tleSA9PT0gJ3N0cmluZycgPyBwdWJsaWNLZXkgOiBwdWJsaWNLZXkudG9TdHJpbmcoJ2Jhc2U2NCcpLFxuICAgICAgICAgICAgICAgICAgICBwcml2YXRlS2V5OiB0eXBlb2YgcHJpdmF0ZUtleSA9PT0gJ3N0cmluZycgPyBwcml2YXRlS2V5IDogcHJpdmF0ZUtleS50b1N0cmluZygnYmFzZTY0JylcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfSlcbiAgICAgICAgfSlcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgc2lnbihtZXNzYWdlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gc2lnbih0aGlzLm9wdGlvbnMuc2lnbmF0dXJlQWxnb3JpdGhtLCBCdWZmZXIuZnJvbShtZXNzYWdlKSwgdGhpcy5wcml2YXRlS2V5KS50b1N0cmluZygnYmFzZTY0JylcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgdmVyaWZ5KG1lc3NhZ2U6IHN0cmluZywgc2lnbjogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB2ZXJpZnkodGhpcy5vcHRpb25zLnNpZ25hdHVyZUFsZ29yaXRobSwgQnVmZmVyLmZyb20obWVzc2FnZSksIHRoaXMucHVibGljS2V5LCBCdWZmZXIuZnJvbShzaWduLCAnYmFzZTY0JykpXG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBhc3luYyBnZW5lcmF0ZUtleVBhaXIob3B0aW9ucz86IFJTQUtleVBhaXJPcHRpb25zKTogUHJvbWlzZTxBc3ltbWV0cmljRW5jcnlwdGlvbktleVBhaXI+IHtcbiAgICAgICAgcmV0dXJuIHN1cGVyLmdlbmVyYXRlS2V5UGFpcihvcHRpb25zKVxuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgYXN5bmMgbG9hZEtleVBhaXI8VCBleHRlbmRzIEFzeW1tZXRyaWNFbmNyeXB0aW9uID0gUlNBPihrZXlQYWlyOiBBc3ltbWV0cmljRW5jcnlwdGlvbktleVBhaXIsIG9wdGlvbnM/OiBSU0FPcHRpb25zKTogUHJvbWlzZTxUPiB7XG4gICAgICAgIHJldHVybiBBczxUPihzdXBlci5sb2FkS2V5UGFpcjxSU0E+KGtleVBhaXIsIG9wdGlvbnMpKVxuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgYXN5bmMgbG9hZFB1YmxpY0tleShpbnA6IFBhdGhMaWtlIHwgc3RyaW5nLCBvcHRpb25zPzogUlNBT3B0aW9ucyk6IFByb21pc2U8QXN5bW1ldHJpY0VuY3J5cHRpb25QdWJsaWM+IHtcbiAgICAgICAgcmV0dXJuIHN1cGVyLmxvYWRQdWJsaWNLZXkoaW5wLCBvcHRpb25zKVxuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgYXN5bmMgbG9hZFByaXZhdGVLZXkoaW5wOiBzdHJpbmcgfCBQYXRoTGlrZSwgb3B0aW9ucz86IFJTQU9wdGlvbnMpOiBQcm9taXNlPEFzeW1tZXRyaWNFbmNyeXB0aW9uUHJpdmF0ZT4ge1xuICAgICAgICByZXR1cm4gc3VwZXIubG9hZFByaXZhdGVLZXkoaW5wLCBvcHRpb25zKVxuICAgIH1cblxufVxuIl19
|