@oyinlola141/lattice-crypto 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +19 -0
- package/dist/.tsbuildinfo +1 -0
- package/dist/compare/compare.helper.d.ts +8 -0
- package/dist/compare/compare.helper.d.ts.map +1 -0
- package/dist/compare/compare.helper.js +17 -0
- package/dist/compare/compare.helper.js.map +1 -0
- package/dist/compare/index.d.ts +7 -0
- package/dist/compare/index.d.ts.map +1 -0
- package/dist/compare/index.js +7 -0
- package/dist/compare/index.js.map +1 -0
- package/dist/cryptoAlgorithm/index.d.ts +8 -0
- package/dist/cryptoAlgorithm/index.d.ts.map +1 -0
- package/dist/cryptoAlgorithm/index.js +8 -0
- package/dist/cryptoAlgorithm/index.js.map +1 -0
- package/dist/cryptoCipher/cryptoCipher.core.d.ts +25 -0
- package/dist/cryptoCipher/cryptoCipher.core.d.ts.map +1 -0
- package/dist/cryptoCipher/cryptoCipher.core.js +35 -0
- package/dist/cryptoCipher/cryptoCipher.core.js.map +1 -0
- package/dist/cryptoCipher/cryptoCipher.envelope.d.ts +16 -0
- package/dist/cryptoCipher/cryptoCipher.envelope.d.ts.map +1 -0
- package/dist/cryptoCipher/cryptoCipher.envelope.js +50 -0
- package/dist/cryptoCipher/cryptoCipher.envelope.js.map +1 -0
- package/dist/cryptoCipher/cryptoCipher.string.d.ts +10 -0
- package/dist/cryptoCipher/cryptoCipher.string.d.ts.map +1 -0
- package/dist/cryptoCipher/cryptoCipher.string.js +15 -0
- package/dist/cryptoCipher/cryptoCipher.string.js.map +1 -0
- package/dist/cryptoCipher/index.d.ts +9 -0
- package/dist/cryptoCipher/index.d.ts.map +1 -0
- package/dist/cryptoCipher/index.js +9 -0
- package/dist/cryptoCipher/index.js.map +1 -0
- package/dist/cryptoConstants/cryptoConstants.config.d.ts +36 -0
- package/dist/cryptoConstants/cryptoConstants.config.d.ts.map +1 -0
- package/dist/cryptoConstants/cryptoConstants.config.js +29 -0
- package/dist/cryptoConstants/cryptoConstants.config.js.map +1 -0
- package/dist/cryptoConstants/cryptoConstants.guard.d.ts +28 -0
- package/dist/cryptoConstants/cryptoConstants.guard.d.ts.map +1 -0
- package/dist/cryptoConstants/cryptoConstants.guard.js +45 -0
- package/dist/cryptoConstants/cryptoConstants.guard.js.map +1 -0
- package/dist/cryptoConstants/cryptoConstants.security.d.ts +41 -0
- package/dist/cryptoConstants/cryptoConstants.security.d.ts.map +1 -0
- package/dist/cryptoConstants/cryptoConstants.security.js +42 -0
- package/dist/cryptoConstants/cryptoConstants.security.js.map +1 -0
- package/dist/cryptoConstants/cryptoConstants.token.d.ts +47 -0
- package/dist/cryptoConstants/cryptoConstants.token.d.ts.map +1 -0
- package/dist/cryptoConstants/cryptoConstants.token.js +47 -0
- package/dist/cryptoConstants/cryptoConstants.token.js.map +1 -0
- package/dist/cryptoConstants/cryptoConstants.type.d.ts +95 -0
- package/dist/cryptoConstants/cryptoConstants.type.d.ts.map +1 -0
- package/dist/cryptoConstants/cryptoConstants.type.js +116 -0
- package/dist/cryptoConstants/cryptoConstants.type.js.map +1 -0
- package/dist/cryptoConstants/index.d.ts +11 -0
- package/dist/cryptoConstants/index.d.ts.map +1 -0
- package/dist/cryptoConstants/index.js +11 -0
- package/dist/cryptoConstants/index.js.map +1 -0
- package/dist/cryptoEncoding/cryptoEncoding.arrayBuffer.d.ts +9 -0
- package/dist/cryptoEncoding/cryptoEncoding.arrayBuffer.d.ts.map +1 -0
- package/dist/cryptoEncoding/cryptoEncoding.arrayBuffer.js +20 -0
- package/dist/cryptoEncoding/cryptoEncoding.arrayBuffer.js.map +1 -0
- package/dist/cryptoEncoding/cryptoEncoding.base64.d.ts +13 -0
- package/dist/cryptoEncoding/cryptoEncoding.base64.d.ts.map +1 -0
- package/dist/cryptoEncoding/cryptoEncoding.base64.js +35 -0
- package/dist/cryptoEncoding/cryptoEncoding.base64.js.map +1 -0
- package/dist/cryptoEncoding/cryptoEncoding.base64url.d.ts +13 -0
- package/dist/cryptoEncoding/cryptoEncoding.base64url.d.ts.map +1 -0
- package/dist/cryptoEncoding/cryptoEncoding.base64url.js +42 -0
- package/dist/cryptoEncoding/cryptoEncoding.base64url.js.map +1 -0
- package/dist/cryptoEncoding/cryptoEncoding.compare.d.ts +8 -0
- package/dist/cryptoEncoding/cryptoEncoding.compare.d.ts.map +1 -0
- package/dist/cryptoEncoding/cryptoEncoding.compare.js +17 -0
- package/dist/cryptoEncoding/cryptoEncoding.compare.js.map +1 -0
- package/dist/cryptoEncoding/cryptoEncoding.core.d.ts +21 -0
- package/dist/cryptoEncoding/cryptoEncoding.core.d.ts.map +1 -0
- package/dist/cryptoEncoding/cryptoEncoding.core.js +67 -0
- package/dist/cryptoEncoding/cryptoEncoding.core.js.map +1 -0
- package/dist/cryptoEncoding/cryptoEncoding.hex.d.ts +13 -0
- package/dist/cryptoEncoding/cryptoEncoding.hex.d.ts.map +1 -0
- package/dist/cryptoEncoding/cryptoEncoding.hex.js +31 -0
- package/dist/cryptoEncoding/cryptoEncoding.hex.js.map +1 -0
- package/dist/cryptoEncoding/encoding/cryptoEncoding.base64.d.ts +13 -0
- package/dist/cryptoEncoding/encoding/cryptoEncoding.base64.d.ts.map +1 -0
- package/dist/cryptoEncoding/encoding/cryptoEncoding.base64.js +36 -0
- package/dist/cryptoEncoding/encoding/cryptoEncoding.base64.js.map +1 -0
- package/dist/cryptoEncoding/encoding/cryptoEncoding.base64url.d.ts +13 -0
- package/dist/cryptoEncoding/encoding/cryptoEncoding.base64url.d.ts.map +1 -0
- package/dist/cryptoEncoding/encoding/cryptoEncoding.base64url.js +43 -0
- package/dist/cryptoEncoding/encoding/cryptoEncoding.base64url.js.map +1 -0
- package/dist/cryptoEncoding/encoding/cryptoEncoding.hex.d.ts +13 -0
- package/dist/cryptoEncoding/encoding/cryptoEncoding.hex.d.ts.map +1 -0
- package/dist/cryptoEncoding/encoding/cryptoEncoding.hex.js +32 -0
- package/dist/cryptoEncoding/encoding/cryptoEncoding.hex.js.map +1 -0
- package/dist/cryptoEncoding/encoding/index.d.ts +9 -0
- package/dist/cryptoEncoding/encoding/index.d.ts.map +1 -0
- package/dist/cryptoEncoding/encoding/index.js +9 -0
- package/dist/cryptoEncoding/encoding/index.js.map +1 -0
- package/dist/cryptoEncoding/index.d.ts +12 -0
- package/dist/cryptoEncoding/index.d.ts.map +1 -0
- package/dist/cryptoEncoding/index.js +12 -0
- package/dist/cryptoEncoding/index.js.map +1 -0
- package/dist/cryptoErrors/index.d.ts +11 -0
- package/dist/cryptoErrors/index.d.ts.map +1 -0
- package/dist/cryptoErrors/index.js +10 -0
- package/dist/cryptoErrors/index.js.map +1 -0
- package/dist/cryptoFactory/cryptoFactory.core.d.ts +60 -0
- package/dist/cryptoFactory/cryptoFactory.core.d.ts.map +1 -0
- package/dist/cryptoFactory/cryptoFactory.core.js +70 -0
- package/dist/cryptoFactory/cryptoFactory.core.js.map +1 -0
- package/dist/cryptoFactory/cryptoFactory.encoding.d.ts +5 -0
- package/dist/cryptoFactory/cryptoFactory.encoding.d.ts.map +1 -0
- package/dist/cryptoFactory/cryptoFactory.encoding.js +8 -0
- package/dist/cryptoFactory/cryptoFactory.encoding.js.map +1 -0
- package/dist/cryptoFactory/cryptoFactory.options.d.ts +2 -0
- package/dist/cryptoFactory/cryptoFactory.options.d.ts.map +1 -0
- package/dist/cryptoFactory/cryptoFactory.options.js +6 -0
- package/dist/cryptoFactory/cryptoFactory.options.js.map +1 -0
- package/dist/cryptoFactory/cryptoFactory.password.d.ts +5 -0
- package/dist/cryptoFactory/cryptoFactory.password.d.ts.map +1 -0
- package/dist/cryptoFactory/cryptoFactory.password.js +8 -0
- package/dist/cryptoFactory/cryptoFactory.password.js.map +1 -0
- package/dist/cryptoFactory/cryptoFactory.token.d.ts +10 -0
- package/dist/cryptoFactory/cryptoFactory.token.d.ts.map +1 -0
- package/dist/cryptoFactory/cryptoFactory.token.js +30 -0
- package/dist/cryptoFactory/cryptoFactory.token.js.map +1 -0
- package/dist/cryptoFactory/index.d.ts +7 -0
- package/dist/cryptoFactory/index.d.ts.map +1 -0
- package/dist/cryptoFactory/index.js +7 -0
- package/dist/cryptoFactory/index.js.map +1 -0
- package/dist/cryptoHash/cryptoHash.codec.d.ts +10 -0
- package/dist/cryptoHash/cryptoHash.codec.d.ts.map +1 -0
- package/dist/cryptoHash/cryptoHash.codec.js +39 -0
- package/dist/cryptoHash/cryptoHash.codec.js.map +1 -0
- package/dist/cryptoHash/cryptoHash.compare.d.ts +5 -0
- package/dist/cryptoHash/cryptoHash.compare.d.ts.map +1 -0
- package/dist/cryptoHash/cryptoHash.compare.js +14 -0
- package/dist/cryptoHash/cryptoHash.compare.js.map +1 -0
- package/dist/cryptoHash/cryptoHash.convenience.d.ts +26 -0
- package/dist/cryptoHash/cryptoHash.convenience.d.ts.map +1 -0
- package/dist/cryptoHash/cryptoHash.convenience.js +56 -0
- package/dist/cryptoHash/cryptoHash.convenience.js.map +1 -0
- package/dist/cryptoHash/cryptoHash.core.d.ts +19 -0
- package/dist/cryptoHash/cryptoHash.core.d.ts.map +1 -0
- package/dist/cryptoHash/cryptoHash.core.js +19 -0
- package/dist/cryptoHash/cryptoHash.core.js.map +1 -0
- package/dist/cryptoHash/cryptoHmac.core.d.ts +19 -0
- package/dist/cryptoHash/cryptoHmac.core.d.ts.map +1 -0
- package/dist/cryptoHash/cryptoHmac.core.js +29 -0
- package/dist/cryptoHash/cryptoHmac.core.js.map +1 -0
- package/dist/cryptoHash/index.d.ts +11 -0
- package/dist/cryptoHash/index.d.ts.map +1 -0
- package/dist/cryptoHash/index.js +11 -0
- package/dist/cryptoHash/index.js.map +1 -0
- package/dist/cryptoKey/cryptoKey.factory.d.ts +21 -0
- package/dist/cryptoKey/cryptoKey.factory.d.ts.map +1 -0
- package/dist/cryptoKey/cryptoKey.factory.js +78 -0
- package/dist/cryptoKey/cryptoKey.factory.js.map +1 -0
- package/dist/cryptoKey/cryptoKey.type.d.ts +44 -0
- package/dist/cryptoKey/cryptoKey.type.d.ts.map +1 -0
- package/dist/cryptoKey/cryptoKey.type.js +41 -0
- package/dist/cryptoKey/cryptoKey.type.js.map +1 -0
- package/dist/cryptoKey/cryptoKey.utils.d.ts +13 -0
- package/dist/cryptoKey/cryptoKey.utils.d.ts.map +1 -0
- package/dist/cryptoKey/cryptoKey.utils.js +21 -0
- package/dist/cryptoKey/cryptoKey.utils.js.map +1 -0
- package/dist/cryptoKey/index.d.ts +9 -0
- package/dist/cryptoKey/index.d.ts.map +1 -0
- package/dist/cryptoKey/index.js +9 -0
- package/dist/cryptoKey/index.js.map +1 -0
- package/dist/cryptoKeyDerivation/cryptoKeyDerivation.core.d.ts +16 -0
- package/dist/cryptoKeyDerivation/cryptoKeyDerivation.core.d.ts.map +1 -0
- package/dist/cryptoKeyDerivation/cryptoKeyDerivation.core.js +76 -0
- package/dist/cryptoKeyDerivation/cryptoKeyDerivation.core.js.map +1 -0
- package/dist/cryptoKeyDerivation/cryptoKeyDerivation.salt.d.ts +5 -0
- package/dist/cryptoKeyDerivation/cryptoKeyDerivation.salt.d.ts.map +1 -0
- package/dist/cryptoKeyDerivation/cryptoKeyDerivation.salt.js +12 -0
- package/dist/cryptoKeyDerivation/cryptoKeyDerivation.salt.js.map +1 -0
- package/dist/cryptoKeyDerivation/cryptoKeyDerivation.type.d.ts +23 -0
- package/dist/cryptoKeyDerivation/cryptoKeyDerivation.type.d.ts.map +1 -0
- package/dist/cryptoKeyDerivation/cryptoKeyDerivation.type.js +2 -0
- package/dist/cryptoKeyDerivation/cryptoKeyDerivation.type.js.map +1 -0
- package/dist/cryptoKeyDerivation/cryptoKeyDerivation.validate.d.ts +9 -0
- package/dist/cryptoKeyDerivation/cryptoKeyDerivation.validate.d.ts.map +1 -0
- package/dist/cryptoKeyDerivation/cryptoKeyDerivation.validate.js +38 -0
- package/dist/cryptoKeyDerivation/cryptoKeyDerivation.validate.js.map +1 -0
- package/dist/cryptoKeyDerivation/index.d.ts +10 -0
- package/dist/cryptoKeyDerivation/index.d.ts.map +1 -0
- package/dist/cryptoKeyDerivation/index.js +10 -0
- package/dist/cryptoKeyDerivation/index.js.map +1 -0
- package/dist/cryptoPassword/cryptoPassword.codec.d.ts +14 -0
- package/dist/cryptoPassword/cryptoPassword.codec.d.ts.map +1 -0
- package/dist/cryptoPassword/cryptoPassword.codec.js +87 -0
- package/dist/cryptoPassword/cryptoPassword.codec.js.map +1 -0
- package/dist/cryptoPassword/cryptoPassword.core.d.ts +10 -0
- package/dist/cryptoPassword/cryptoPassword.core.d.ts.map +1 -0
- package/dist/cryptoPassword/cryptoPassword.core.js +59 -0
- package/dist/cryptoPassword/cryptoPassword.core.js.map +1 -0
- package/dist/cryptoPassword/cryptoPassword.helper.d.ts +14 -0
- package/dist/cryptoPassword/cryptoPassword.helper.d.ts.map +1 -0
- package/dist/cryptoPassword/cryptoPassword.helper.js +34 -0
- package/dist/cryptoPassword/cryptoPassword.helper.js.map +1 -0
- package/dist/cryptoPassword/cryptoPassword.type.d.ts +37 -0
- package/dist/cryptoPassword/cryptoPassword.type.d.ts.map +1 -0
- package/dist/cryptoPassword/cryptoPassword.type.js +2 -0
- package/dist/cryptoPassword/cryptoPassword.type.js.map +1 -0
- package/dist/cryptoPassword/cryptoPassword.validate.d.ts +23 -0
- package/dist/cryptoPassword/cryptoPassword.validate.d.ts.map +1 -0
- package/dist/cryptoPassword/cryptoPassword.validate.js +65 -0
- package/dist/cryptoPassword/cryptoPassword.validate.js.map +1 -0
- package/dist/cryptoPassword/index.d.ts +11 -0
- package/dist/cryptoPassword/index.d.ts.map +1 -0
- package/dist/cryptoPassword/index.js +11 -0
- package/dist/cryptoPassword/index.js.map +1 -0
- package/dist/cryptoProvider/cryptoProvider.core.d.ts +10 -0
- package/dist/cryptoProvider/cryptoProvider.core.d.ts.map +1 -0
- package/dist/cryptoProvider/cryptoProvider.core.js +2 -0
- package/dist/cryptoProvider/cryptoProvider.core.js.map +1 -0
- package/dist/cryptoProvider/cryptoProvider.interface.d.ts +91 -0
- package/dist/cryptoProvider/cryptoProvider.interface.d.ts.map +1 -0
- package/dist/cryptoProvider/cryptoProvider.interface.js +2 -0
- package/dist/cryptoProvider/cryptoProvider.interface.js.map +1 -0
- package/dist/cryptoProvider/cryptoProvider.type.d.ts +41 -0
- package/dist/cryptoProvider/cryptoProvider.type.d.ts.map +1 -0
- package/dist/cryptoProvider/cryptoProvider.type.js +2 -0
- package/dist/cryptoProvider/cryptoProvider.type.js.map +1 -0
- package/dist/cryptoProvider/index.d.ts +12 -0
- package/dist/cryptoProvider/index.d.ts.map +1 -0
- package/dist/cryptoProvider/index.js +2 -0
- package/dist/cryptoProvider/index.js.map +1 -0
- package/dist/cryptoProvider/types/cryptoCipher.type.d.ts +28 -0
- package/dist/cryptoProvider/types/cryptoCipher.type.d.ts.map +1 -0
- package/dist/cryptoProvider/types/cryptoCipher.type.js +2 -0
- package/dist/cryptoProvider/types/cryptoCipher.type.js.map +1 -0
- package/dist/cryptoProvider/types/cryptoHash.type.d.ts +14 -0
- package/dist/cryptoProvider/types/cryptoHash.type.d.ts.map +1 -0
- package/dist/cryptoProvider/types/cryptoHash.type.js +2 -0
- package/dist/cryptoProvider/types/cryptoHash.type.js.map +1 -0
- package/dist/cryptoProvider/types/cryptoKeyDerivation.type.d.ts +22 -0
- package/dist/cryptoProvider/types/cryptoKeyDerivation.type.d.ts.map +1 -0
- package/dist/cryptoProvider/types/cryptoKeyDerivation.type.js +2 -0
- package/dist/cryptoProvider/types/cryptoKeyDerivation.type.js.map +1 -0
- package/dist/cryptoProvider/types/cryptoRandom.type.d.ts +9 -0
- package/dist/cryptoProvider/types/cryptoRandom.type.d.ts.map +1 -0
- package/dist/cryptoProvider/types/cryptoRandom.type.js +2 -0
- package/dist/cryptoProvider/types/cryptoRandom.type.js.map +1 -0
- package/dist/cryptoProvider/types/cryptoSignature.type.d.ts +19 -0
- package/dist/cryptoProvider/types/cryptoSignature.type.d.ts.map +1 -0
- package/dist/cryptoProvider/types/cryptoSignature.type.js +2 -0
- package/dist/cryptoProvider/types/cryptoSignature.type.js.map +1 -0
- package/dist/cryptoProvider/types/index.d.ts +12 -0
- package/dist/cryptoProvider/types/index.d.ts.map +1 -0
- package/dist/cryptoProvider/types/index.js +8 -0
- package/dist/cryptoProvider/types/index.js.map +1 -0
- package/dist/cryptoRandom/cryptoRandom.choice.d.ts +14 -0
- package/dist/cryptoRandom/cryptoRandom.choice.d.ts.map +1 -0
- package/dist/cryptoRandom/cryptoRandom.choice.js +30 -0
- package/dist/cryptoRandom/cryptoRandom.choice.js.map +1 -0
- package/dist/cryptoRandom/cryptoRandom.core.d.ts +21 -0
- package/dist/cryptoRandom/cryptoRandom.core.d.ts.map +1 -0
- package/dist/cryptoRandom/cryptoRandom.core.js +31 -0
- package/dist/cryptoRandom/cryptoRandom.core.js.map +1 -0
- package/dist/cryptoRandom/cryptoRandom.string.d.ts +35 -0
- package/dist/cryptoRandom/cryptoRandom.string.d.ts.map +1 -0
- package/dist/cryptoRandom/cryptoRandom.string.js +76 -0
- package/dist/cryptoRandom/cryptoRandom.string.js.map +1 -0
- package/dist/cryptoRandom/index.d.ts +9 -0
- package/dist/cryptoRandom/index.d.ts.map +1 -0
- package/dist/cryptoRandom/index.js +9 -0
- package/dist/cryptoRandom/index.js.map +1 -0
- package/dist/cryptoService/cryptoService.core.d.ts +46 -0
- package/dist/cryptoService/cryptoService.core.d.ts.map +1 -0
- package/dist/cryptoService/cryptoService.core.js +69 -0
- package/dist/cryptoService/cryptoService.core.js.map +1 -0
- package/dist/cryptoService/cryptoService.derivation.d.ts +6 -0
- package/dist/cryptoService/cryptoService.derivation.d.ts.map +1 -0
- package/dist/cryptoService/cryptoService.derivation.js +12 -0
- package/dist/cryptoService/cryptoService.derivation.js.map +1 -0
- package/dist/cryptoService/cryptoService.encoding.d.ts +5 -0
- package/dist/cryptoService/cryptoService.encoding.d.ts.map +1 -0
- package/dist/cryptoService/cryptoService.encoding.js +19 -0
- package/dist/cryptoService/cryptoService.encoding.js.map +1 -0
- package/dist/cryptoService/index.d.ts +11 -0
- package/dist/cryptoService/index.d.ts.map +1 -0
- package/dist/cryptoService/index.js +11 -0
- package/dist/cryptoService/index.js.map +1 -0
- package/dist/cryptoService/operations/cryptoService.cipher.d.ts +5 -0
- package/dist/cryptoService/operations/cryptoService.cipher.d.ts.map +1 -0
- package/dist/cryptoService/operations/cryptoService.cipher.js +19 -0
- package/dist/cryptoService/operations/cryptoService.cipher.js.map +1 -0
- package/dist/cryptoService/operations/cryptoService.hash.d.ts +3 -0
- package/dist/cryptoService/operations/cryptoService.hash.d.ts.map +1 -0
- package/dist/cryptoService/operations/cryptoService.hash.js +16 -0
- package/dist/cryptoService/operations/cryptoService.hash.js.map +1 -0
- package/dist/cryptoService/operations/cryptoService.password.d.ts +5 -0
- package/dist/cryptoService/operations/cryptoService.password.d.ts.map +1 -0
- package/dist/cryptoService/operations/cryptoService.password.js +19 -0
- package/dist/cryptoService/operations/cryptoService.password.js.map +1 -0
- package/dist/cryptoService/operations/cryptoService.token.d.ts +7 -0
- package/dist/cryptoService/operations/cryptoService.token.d.ts.map +1 -0
- package/dist/cryptoService/operations/cryptoService.token.js +36 -0
- package/dist/cryptoService/operations/cryptoService.token.js.map +1 -0
- package/dist/cryptoService/operations/index.d.ts +11 -0
- package/dist/cryptoService/operations/index.d.ts.map +1 -0
- package/dist/cryptoService/operations/index.js +11 -0
- package/dist/cryptoService/operations/index.js.map +1 -0
- package/dist/cryptoSignature/cryptoSignature.core.d.ts +25 -0
- package/dist/cryptoSignature/cryptoSignature.core.d.ts.map +1 -0
- package/dist/cryptoSignature/cryptoSignature.core.js +36 -0
- package/dist/cryptoSignature/cryptoSignature.core.js.map +1 -0
- package/dist/cryptoSignature/index.d.ts +7 -0
- package/dist/cryptoSignature/index.d.ts.map +1 -0
- package/dist/cryptoSignature/index.js +7 -0
- package/dist/cryptoSignature/index.js.map +1 -0
- package/dist/cryptoToken/cryptoToken.core.d.ts +55 -0
- package/dist/cryptoToken/cryptoToken.core.d.ts.map +1 -0
- package/dist/cryptoToken/cryptoToken.core.js +90 -0
- package/dist/cryptoToken/cryptoToken.core.js.map +1 -0
- package/dist/cryptoToken/cryptoToken.hash.d.ts +24 -0
- package/dist/cryptoToken/cryptoToken.hash.d.ts.map +1 -0
- package/dist/cryptoToken/cryptoToken.hash.js +88 -0
- package/dist/cryptoToken/cryptoToken.hash.js.map +1 -0
- package/dist/cryptoToken/cryptoToken.utils.d.ts +13 -0
- package/dist/cryptoToken/cryptoToken.utils.d.ts.map +1 -0
- package/dist/cryptoToken/cryptoToken.utils.js +37 -0
- package/dist/cryptoToken/cryptoToken.utils.js.map +1 -0
- package/dist/cryptoToken/index.d.ts +9 -0
- package/dist/cryptoToken/index.d.ts.map +1 -0
- package/dist/cryptoToken/index.js +9 -0
- package/dist/cryptoToken/index.js.map +1 -0
- package/dist/cryptoUtils/cryptoUtils.compare.d.ts +11 -0
- package/dist/cryptoUtils/cryptoUtils.compare.d.ts.map +1 -0
- package/dist/cryptoUtils/cryptoUtils.compare.js +32 -0
- package/dist/cryptoUtils/cryptoUtils.compare.js.map +1 -0
- package/dist/cryptoUtils/cryptoUtils.conversion.d.ts +25 -0
- package/dist/cryptoUtils/cryptoUtils.conversion.d.ts.map +1 -0
- package/dist/cryptoUtils/cryptoUtils.conversion.js +52 -0
- package/dist/cryptoUtils/cryptoUtils.conversion.js.map +1 -0
- package/dist/cryptoUtils/cryptoUtils.number.d.ts +9 -0
- package/dist/cryptoUtils/cryptoUtils.number.d.ts.map +1 -0
- package/dist/cryptoUtils/cryptoUtils.number.js +43 -0
- package/dist/cryptoUtils/cryptoUtils.number.js.map +1 -0
- package/dist/cryptoUtils/cryptoUtils.text.d.ts +13 -0
- package/dist/cryptoUtils/cryptoUtils.text.d.ts.map +1 -0
- package/dist/cryptoUtils/cryptoUtils.text.js +23 -0
- package/dist/cryptoUtils/cryptoUtils.text.js.map +1 -0
- package/dist/cryptoUtils/cryptoUtils.validation.d.ts +17 -0
- package/dist/cryptoUtils/cryptoUtils.validation.d.ts.map +1 -0
- package/dist/cryptoUtils/cryptoUtils.validation.js +31 -0
- package/dist/cryptoUtils/cryptoUtils.validation.js.map +1 -0
- package/dist/cryptoUtils/encoding/cryptoUtils.base64.d.ts +9 -0
- package/dist/cryptoUtils/encoding/cryptoUtils.base64.d.ts.map +1 -0
- package/dist/cryptoUtils/encoding/cryptoUtils.base64.js +29 -0
- package/dist/cryptoUtils/encoding/cryptoUtils.base64.js.map +1 -0
- package/dist/cryptoUtils/encoding/cryptoUtils.base64url.d.ts +9 -0
- package/dist/cryptoUtils/encoding/cryptoUtils.base64url.d.ts.map +1 -0
- package/dist/cryptoUtils/encoding/cryptoUtils.base64url.js +40 -0
- package/dist/cryptoUtils/encoding/cryptoUtils.base64url.js.map +1 -0
- package/dist/cryptoUtils/encoding/cryptoUtils.hex.d.ts +9 -0
- package/dist/cryptoUtils/encoding/cryptoUtils.hex.d.ts.map +1 -0
- package/dist/cryptoUtils/encoding/cryptoUtils.hex.js +27 -0
- package/dist/cryptoUtils/encoding/cryptoUtils.hex.js.map +1 -0
- package/dist/cryptoUtils/encoding/index.d.ts +10 -0
- package/dist/cryptoUtils/encoding/index.d.ts.map +1 -0
- package/dist/cryptoUtils/encoding/index.js +10 -0
- package/dist/cryptoUtils/encoding/index.js.map +1 -0
- package/dist/cryptoUtils/index.d.ts +13 -0
- package/dist/cryptoUtils/index.d.ts.map +1 -0
- package/dist/cryptoUtils/index.js +13 -0
- package/dist/cryptoUtils/index.js.map +1 -0
- package/dist/index.d.ts +26 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +26 -0
- package/dist/index.js.map +1 -0
- package/dist/node/index.d.ts +8 -0
- package/dist/node/index.d.ts.map +1 -0
- package/dist/node/index.js +8 -0
- package/dist/node/index.js.map +1 -0
- package/dist/node/nodeCryptoProvider/index.d.ts +14 -0
- package/dist/node/nodeCryptoProvider/index.d.ts.map +1 -0
- package/dist/node/nodeCryptoProvider/index.js +14 -0
- package/dist/node/nodeCryptoProvider/index.js.map +1 -0
- package/dist/node/nodeCryptoProvider/nodeCryptoProvider.core.d.ts +42 -0
- package/dist/node/nodeCryptoProvider/nodeCryptoProvider.core.d.ts.map +1 -0
- package/dist/node/nodeCryptoProvider/nodeCryptoProvider.core.js +56 -0
- package/dist/node/nodeCryptoProvider/nodeCryptoProvider.core.js.map +1 -0
- package/dist/node/nodeCryptoProvider/nodeCryptoProvider.derivation.d.ts +3 -0
- package/dist/node/nodeCryptoProvider/nodeCryptoProvider.derivation.d.ts.map +1 -0
- package/dist/node/nodeCryptoProvider/nodeCryptoProvider.derivation.js +45 -0
- package/dist/node/nodeCryptoProvider/nodeCryptoProvider.derivation.js.map +1 -0
- package/dist/node/nodeCryptoProvider/nodeCryptoProvider.encryption.d.ts +13 -0
- package/dist/node/nodeCryptoProvider/nodeCryptoProvider.encryption.d.ts.map +1 -0
- package/dist/node/nodeCryptoProvider/nodeCryptoProvider.encryption.js +38 -0
- package/dist/node/nodeCryptoProvider/nodeCryptoProvider.encryption.js.map +1 -0
- package/dist/node/nodeCryptoProvider/nodeCryptoProvider.factory.d.ts +3 -0
- package/dist/node/nodeCryptoProvider/nodeCryptoProvider.factory.d.ts.map +1 -0
- package/dist/node/nodeCryptoProvider/nodeCryptoProvider.factory.js +5 -0
- package/dist/node/nodeCryptoProvider/nodeCryptoProvider.factory.js.map +1 -0
- package/dist/node/nodeCryptoProvider/nodeCryptoProvider.hash.d.ts +5 -0
- package/dist/node/nodeCryptoProvider/nodeCryptoProvider.hash.d.ts.map +1 -0
- package/dist/node/nodeCryptoProvider/nodeCryptoProvider.hash.js +16 -0
- package/dist/node/nodeCryptoProvider/nodeCryptoProvider.hash.js.map +1 -0
- package/dist/node/nodeCryptoProvider/nodeCryptoProvider.helper.d.ts +8 -0
- package/dist/node/nodeCryptoProvider/nodeCryptoProvider.helper.d.ts.map +1 -0
- package/dist/node/nodeCryptoProvider/nodeCryptoProvider.helper.js +55 -0
- package/dist/node/nodeCryptoProvider/nodeCryptoProvider.helper.js.map +1 -0
- package/dist/node/nodeCryptoProvider/nodeCryptoProvider.password.d.ts +9 -0
- package/dist/node/nodeCryptoProvider/nodeCryptoProvider.password.d.ts.map +1 -0
- package/dist/node/nodeCryptoProvider/nodeCryptoProvider.password.js +70 -0
- package/dist/node/nodeCryptoProvider/nodeCryptoProvider.password.js.map +1 -0
- package/dist/node/nodeCryptoProvider/nodeCryptoProvider.random.d.ts +4 -0
- package/dist/node/nodeCryptoProvider/nodeCryptoProvider.random.d.ts.map +1 -0
- package/dist/node/nodeCryptoProvider/nodeCryptoProvider.random.js +38 -0
- package/dist/node/nodeCryptoProvider/nodeCryptoProvider.random.js.map +1 -0
- package/dist/node/nodeCryptoProvider/nodeCryptoProvider.signing.d.ts +13 -0
- package/dist/node/nodeCryptoProvider/nodeCryptoProvider.signing.d.ts.map +1 -0
- package/dist/node/nodeCryptoProvider/nodeCryptoProvider.signing.js +29 -0
- package/dist/node/nodeCryptoProvider/nodeCryptoProvider.signing.js.map +1 -0
- package/dist/node/nodeCryptoProvider/operations/index.d.ts +8 -0
- package/dist/node/nodeCryptoProvider/operations/index.d.ts.map +1 -0
- package/dist/node/nodeCryptoProvider/operations/index.js +8 -0
- package/dist/node/nodeCryptoProvider/operations/index.js.map +1 -0
- package/dist/node/nodeCryptoProvider/operations/nodeCryptoProvider.derivation.d.ts +3 -0
- package/dist/node/nodeCryptoProvider/operations/nodeCryptoProvider.derivation.d.ts.map +1 -0
- package/dist/node/nodeCryptoProvider/operations/nodeCryptoProvider.derivation.js +45 -0
- package/dist/node/nodeCryptoProvider/operations/nodeCryptoProvider.derivation.js.map +1 -0
- package/dist/node/nodeCryptoProvider/operations/nodeCryptoProvider.password.d.ts +12 -0
- package/dist/node/nodeCryptoProvider/operations/nodeCryptoProvider.password.d.ts.map +1 -0
- package/dist/node/nodeCryptoProvider/operations/nodeCryptoProvider.password.js +94 -0
- package/dist/node/nodeCryptoProvider/operations/nodeCryptoProvider.password.js.map +1 -0
- package/dist/node/nodeCryptoProvider/primitives/index.d.ts +10 -0
- package/dist/node/nodeCryptoProvider/primitives/index.d.ts.map +1 -0
- package/dist/node/nodeCryptoProvider/primitives/index.js +10 -0
- package/dist/node/nodeCryptoProvider/primitives/index.js.map +1 -0
- package/dist/node/nodeCryptoProvider/primitives/nodeCryptoProvider.encryption.d.ts +13 -0
- package/dist/node/nodeCryptoProvider/primitives/nodeCryptoProvider.encryption.d.ts.map +1 -0
- package/dist/node/nodeCryptoProvider/primitives/nodeCryptoProvider.encryption.js +38 -0
- package/dist/node/nodeCryptoProvider/primitives/nodeCryptoProvider.encryption.js.map +1 -0
- package/dist/node/nodeCryptoProvider/primitives/nodeCryptoProvider.hash.d.ts +4 -0
- package/dist/node/nodeCryptoProvider/primitives/nodeCryptoProvider.hash.d.ts.map +1 -0
- package/dist/node/nodeCryptoProvider/primitives/nodeCryptoProvider.hash.js +16 -0
- package/dist/node/nodeCryptoProvider/primitives/nodeCryptoProvider.hash.js.map +1 -0
- package/dist/node/nodeCryptoProvider/primitives/nodeCryptoProvider.random.d.ts +4 -0
- package/dist/node/nodeCryptoProvider/primitives/nodeCryptoProvider.random.d.ts.map +1 -0
- package/dist/node/nodeCryptoProvider/primitives/nodeCryptoProvider.random.js +39 -0
- package/dist/node/nodeCryptoProvider/primitives/nodeCryptoProvider.random.js.map +1 -0
- package/dist/node/nodeCryptoProvider/primitives/nodeCryptoProvider.signing.d.ts +13 -0
- package/dist/node/nodeCryptoProvider/primitives/nodeCryptoProvider.signing.d.ts.map +1 -0
- package/dist/node/nodeCryptoProvider/primitives/nodeCryptoProvider.signing.js +29 -0
- package/dist/node/nodeCryptoProvider/primitives/nodeCryptoProvider.signing.js.map +1 -0
- package/dist/node/signing/index.d.ts +9 -0
- package/dist/node/signing/index.d.ts.map +1 -0
- package/dist/node/signing/index.js +9 -0
- package/dist/node/signing/index.js.map +1 -0
- package/dist/node/signing/signing.conversion.d.ts +9 -0
- package/dist/node/signing/signing.conversion.d.ts.map +1 -0
- package/dist/node/signing/signing.conversion.js +51 -0
- package/dist/node/signing/signing.conversion.js.map +1 -0
- package/dist/node/signing/signing.core.d.ts +21 -0
- package/dist/node/signing/signing.core.d.ts.map +1 -0
- package/dist/node/signing/signing.core.js +41 -0
- package/dist/node/signing/signing.core.js.map +1 -0
- package/dist/node/signing/signing.utils.d.ts +15 -0
- package/dist/node/signing/signing.utils.d.ts.map +1 -0
- package/dist/node/signing/signing.utils.js +41 -0
- package/dist/node/signing/signing.utils.js.map +1 -0
- package/package.json +39 -0
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import { TimeMs } from "@latticejs/constants";
|
|
2
|
+
/**
|
|
3
|
+
* Supported cryptographic algorithms used by Lattice.
|
|
4
|
+
*/
|
|
5
|
+
export var CryptoAlgorithm;
|
|
6
|
+
(function (CryptoAlgorithm) {
|
|
7
|
+
CryptoAlgorithm["AES_256_GCM"] = "aes-256-gcm";
|
|
8
|
+
CryptoAlgorithm["AES_256_CBC"] = "aes-256-cbc";
|
|
9
|
+
CryptoAlgorithm["CHACHA20_POLY1305"] = "chacha20-poly1305";
|
|
10
|
+
CryptoAlgorithm["SHA_256"] = "sha256";
|
|
11
|
+
CryptoAlgorithm["SHA_384"] = "sha384";
|
|
12
|
+
CryptoAlgorithm["SHA_512"] = "sha512";
|
|
13
|
+
CryptoAlgorithm["SHA3_256"] = "sha3-256";
|
|
14
|
+
CryptoAlgorithm["SHA3_384"] = "sha3-384";
|
|
15
|
+
CryptoAlgorithm["SHA3_512"] = "sha3-512";
|
|
16
|
+
CryptoAlgorithm["HMAC_SHA256"] = "hmac-sha256";
|
|
17
|
+
CryptoAlgorithm["HMAC_SHA384"] = "hmac-sha384";
|
|
18
|
+
CryptoAlgorithm["HMAC_SHA512"] = "hmac-sha512";
|
|
19
|
+
CryptoAlgorithm["PBKDF2_SHA256"] = "pbkdf2-sha256";
|
|
20
|
+
CryptoAlgorithm["PBKDF2_SHA512"] = "pbkdf2-sha512";
|
|
21
|
+
CryptoAlgorithm["SCRYPT"] = "scrypt";
|
|
22
|
+
CryptoAlgorithm["ARGON2ID"] = "argon2id";
|
|
23
|
+
CryptoAlgorithm["ED25519"] = "ed25519";
|
|
24
|
+
CryptoAlgorithm["X25519"] = "x25519";
|
|
25
|
+
})(CryptoAlgorithm || (CryptoAlgorithm = {}));
|
|
26
|
+
/**
|
|
27
|
+
* Algorithms that provide authenticated encryption.
|
|
28
|
+
*/
|
|
29
|
+
export const AEAD_ALGORITHMS = Object.freeze([
|
|
30
|
+
CryptoAlgorithm.AES_256_GCM,
|
|
31
|
+
CryptoAlgorithm.CHACHA20_POLY1305,
|
|
32
|
+
]);
|
|
33
|
+
/**
|
|
34
|
+
* Algorithms intended for hashing.
|
|
35
|
+
*/
|
|
36
|
+
export const HASH_ALGORITHMS = Object.freeze([
|
|
37
|
+
CryptoAlgorithm.SHA_256,
|
|
38
|
+
CryptoAlgorithm.SHA_384,
|
|
39
|
+
CryptoAlgorithm.SHA_512,
|
|
40
|
+
CryptoAlgorithm.SHA3_256,
|
|
41
|
+
CryptoAlgorithm.SHA3_384,
|
|
42
|
+
CryptoAlgorithm.SHA3_512,
|
|
43
|
+
]);
|
|
44
|
+
/**
|
|
45
|
+
* Algorithms intended for password/key derivation.
|
|
46
|
+
*/
|
|
47
|
+
export const KEY_DERIVATION_ALGORITHMS = Object.freeze([
|
|
48
|
+
CryptoAlgorithm.PBKDF2_SHA256,
|
|
49
|
+
CryptoAlgorithm.PBKDF2_SHA512,
|
|
50
|
+
CryptoAlgorithm.SCRYPT,
|
|
51
|
+
CryptoAlgorithm.ARGON2ID,
|
|
52
|
+
]);
|
|
53
|
+
/**
|
|
54
|
+
* Algorithms intended for message authentication.
|
|
55
|
+
*/
|
|
56
|
+
export const MAC_ALGORITHMS = Object.freeze([
|
|
57
|
+
CryptoAlgorithm.HMAC_SHA256,
|
|
58
|
+
CryptoAlgorithm.HMAC_SHA384,
|
|
59
|
+
CryptoAlgorithm.HMAC_SHA512,
|
|
60
|
+
]);
|
|
61
|
+
/**
|
|
62
|
+
* AES-GCM constants.
|
|
63
|
+
*/
|
|
64
|
+
export const AES_GCM = Object.freeze({
|
|
65
|
+
KEY_BYTES: 32,
|
|
66
|
+
KEY_BITS: 256,
|
|
67
|
+
IV_BYTES: 12,
|
|
68
|
+
AUTH_TAG_BYTES: 16,
|
|
69
|
+
});
|
|
70
|
+
/**
|
|
71
|
+
* Hash constants.
|
|
72
|
+
*/
|
|
73
|
+
export const HASH = Object.freeze({
|
|
74
|
+
SHA256_BYTES: 32,
|
|
75
|
+
SHA384_BYTES: 48,
|
|
76
|
+
SHA512_BYTES: 64,
|
|
77
|
+
SHA3_256_BYTES: 32,
|
|
78
|
+
SHA3_384_BYTES: 48,
|
|
79
|
+
SHA3_512_BYTES: 64,
|
|
80
|
+
});
|
|
81
|
+
/**
|
|
82
|
+
* Key sizes commonly used by the crypto package.
|
|
83
|
+
*/
|
|
84
|
+
export const KEY_SIZE = Object.freeze({
|
|
85
|
+
AES_128_BITS: 128,
|
|
86
|
+
AES_192_BITS: 192,
|
|
87
|
+
AES_256_BITS: 256,
|
|
88
|
+
ED25519_BITS: 256,
|
|
89
|
+
MIN_SYMMETRIC_KEY_BITS: 128,
|
|
90
|
+
});
|
|
91
|
+
/**
|
|
92
|
+
* Encoding constants.
|
|
93
|
+
*/
|
|
94
|
+
export const ENCODING = Object.freeze({
|
|
95
|
+
HEX: "hex",
|
|
96
|
+
BASE64: "base64",
|
|
97
|
+
BASE64URL: "base64url",
|
|
98
|
+
UTF8: "utf8",
|
|
99
|
+
});
|
|
100
|
+
/**
|
|
101
|
+
* Cryptographic algorithm identifiers.
|
|
102
|
+
*/
|
|
103
|
+
export const CRYPTO_ALGORITHM = Object.freeze({
|
|
104
|
+
SHA256: "sha256",
|
|
105
|
+
SHA384: "sha384",
|
|
106
|
+
SHA512: "sha512",
|
|
107
|
+
SHA3_256: "sha3-256",
|
|
108
|
+
SHA3_384: "sha3-384",
|
|
109
|
+
SHA3_512: "sha3-512",
|
|
110
|
+
AES_256_GCM: "aes-256-gcm",
|
|
111
|
+
ED25519: "ed25519",
|
|
112
|
+
PBKDF2_SHA256: "pbkdf2-sha256",
|
|
113
|
+
PBKDF2_SHA512: "pbkdf2-sha512",
|
|
114
|
+
SCRYPT: "scrypt",
|
|
115
|
+
});
|
|
116
|
+
//# sourceMappingURL=cryptoConstants.type.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cryptoConstants.type.js","sourceRoot":"","sources":["../../src/cryptoConstants/cryptoConstants.type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C;;GAEG;AACH,MAAM,CAAN,IAAY,eAmBX;AAnBD,WAAY,eAAe;IACzB,8CAA2B,CAAA;IAC3B,8CAA2B,CAAA;IAC3B,0DAAuC,CAAA;IACvC,qCAAkB,CAAA;IAClB,qCAAkB,CAAA;IAClB,qCAAkB,CAAA;IAClB,wCAAqB,CAAA;IACrB,wCAAqB,CAAA;IACrB,wCAAqB,CAAA;IACrB,8CAA2B,CAAA;IAC3B,8CAA2B,CAAA;IAC3B,8CAA2B,CAAA;IAC3B,kDAA+B,CAAA;IAC/B,kDAA+B,CAAA;IAC/B,oCAAiB,CAAA;IACjB,wCAAqB,CAAA;IACrB,sCAAmB,CAAA;IACnB,oCAAiB,CAAA;AACnB,CAAC,EAnBW,eAAe,KAAf,eAAe,QAmB1B;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC;IAC3C,eAAe,CAAC,WAAW;IAC3B,eAAe,CAAC,iBAAiB;CACzB,CAAC,CAAC;AAEZ;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC;IAC3C,eAAe,CAAC,OAAO;IACvB,eAAe,CAAC,OAAO;IACvB,eAAe,CAAC,OAAO;IACvB,eAAe,CAAC,QAAQ;IACxB,eAAe,CAAC,QAAQ;IACxB,eAAe,CAAC,QAAQ;CAChB,CAAC,CAAC;AAEZ;;GAEG;AACH,MAAM,CAAC,MAAM,yBAAyB,GACpC,MAAM,CAAC,MAAM,CAAC;IACZ,eAAe,CAAC,aAAa;IAC7B,eAAe,CAAC,aAAa;IAC7B,eAAe,CAAC,MAAM;IACtB,eAAe,CAAC,QAAQ;CAChB,CAAC,CAAC;AAEd;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC;IAC1C,eAAe,CAAC,WAAW;IAC3B,eAAe,CAAC,WAAW;IAC3B,eAAe,CAAC,WAAW;CACnB,CAAC,CAAC;AAEZ;;GAEG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC;IACnC,SAAS,EAAE,EAAE;IACb,QAAQ,EAAE,GAAG;IACb,QAAQ,EAAE,EAAE;IACZ,cAAc,EAAE,EAAE;CACV,CAAC,CAAC;AAEZ;;GAEG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC;IAChC,YAAY,EAAE,EAAE;IAChB,YAAY,EAAE,EAAE;IAChB,YAAY,EAAE,EAAE;IAEhB,cAAc,EAAE,EAAE;IAClB,cAAc,EAAE,EAAE;IAClB,cAAc,EAAE,EAAE;CACV,CAAC,CAAC;AAEZ;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC;IACpC,YAAY,EAAE,GAAG;IACjB,YAAY,EAAE,GAAG;IACjB,YAAY,EAAE,GAAG;IAEjB,YAAY,EAAE,GAAG;IAEjB,sBAAsB,EAAE,GAAG;CACnB,CAAC,CAAC;AAEZ;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC;IACpC,GAAG,EAAE,KAAK;IACV,MAAM,EAAE,QAAQ;IAChB,SAAS,EAAE,WAAW;IACtB,IAAI,EAAE,MAAM;CACJ,CAAC,CAAC;AAEZ;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC;IAC5C,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAEhB,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,UAAU;IAEpB,WAAW,EAAE,aAAa;IAE1B,OAAO,EAAE,SAAS;IAElB,aAAa,EAAE,eAAe;IAC9B,aAAa,EAAE,eAAe;IAE9B,MAAM,EAAE,QAAQ;CACR,CAAC,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @oyinlola141/lattice-crypto/cryptoConstants
|
|
3
|
+
*
|
|
4
|
+
* Cryptographic constants and default parameters.
|
|
5
|
+
*/
|
|
6
|
+
export * from './cryptoConstants.type.js';
|
|
7
|
+
export * from './cryptoConstants.config.js';
|
|
8
|
+
export * from './cryptoConstants.security.js';
|
|
9
|
+
export * from './cryptoConstants.token.js';
|
|
10
|
+
export * from './cryptoConstants.guard.js';
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cryptoConstants/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @latticejs/crypto/cryptoConstants
|
|
3
|
+
*
|
|
4
|
+
* Cryptographic constants and default parameters.
|
|
5
|
+
*/
|
|
6
|
+
export * from './cryptoConstants.type.js';
|
|
7
|
+
export * from './cryptoConstants.config.js';
|
|
8
|
+
export * from './cryptoConstants.security.js';
|
|
9
|
+
export * from './cryptoConstants.token.js';
|
|
10
|
+
export * from './cryptoConstants.guard.js';
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cryptoConstants/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Converts an ArrayBuffer into a defensive Uint8Array copy.
|
|
3
|
+
*/
|
|
4
|
+
export declare function arrayBufferToBytes(value: ArrayBuffer): Uint8Array;
|
|
5
|
+
/**
|
|
6
|
+
* Converts bytes into an ArrayBuffer copy.
|
|
7
|
+
*/
|
|
8
|
+
export declare function bytesToArrayBuffer(value: Uint8Array): ArrayBuffer;
|
|
9
|
+
//# sourceMappingURL=cryptoEncoding.arrayBuffer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cryptoEncoding.arrayBuffer.d.ts","sourceRoot":"","sources":["../../src/cryptoEncoding/cryptoEncoding.arrayBuffer.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,WAAW,GACjB,UAAU,CAYZ;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,UAAU,GAChB,WAAW,CAcb"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Converts an ArrayBuffer into a defensive Uint8Array copy.
|
|
3
|
+
*/
|
|
4
|
+
export function arrayBufferToBytes(value) {
|
|
5
|
+
if (!(value instanceof ArrayBuffer)) {
|
|
6
|
+
throw new TypeError("Value must be an ArrayBuffer.");
|
|
7
|
+
}
|
|
8
|
+
return new Uint8Array(value.slice(0));
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Converts bytes into an ArrayBuffer copy.
|
|
12
|
+
*/
|
|
13
|
+
export function bytesToArrayBuffer(value) {
|
|
14
|
+
if (!(value instanceof Uint8Array)) {
|
|
15
|
+
throw new TypeError("Value must be a Uint8Array.");
|
|
16
|
+
}
|
|
17
|
+
return value.buffer.slice(value.byteOffset, value.byteOffset +
|
|
18
|
+
value.byteLength);
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=cryptoEncoding.arrayBuffer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cryptoEncoding.arrayBuffer.js","sourceRoot":"","sources":["../../src/cryptoEncoding/cryptoEncoding.arrayBuffer.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAChC,KAAkB;IAElB,IACE,CAAC,CAAC,KAAK,YAAY,WAAW,CAAC,EAC/B,CAAC;QACD,MAAM,IAAI,SAAS,CACjB,+BAA+B,CAChC,CAAC;IACJ,CAAC;IAED,OAAO,IAAI,UAAU,CACnB,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CACf,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAChC,KAAiB;IAEjB,IACE,CAAC,CAAC,KAAK,YAAY,UAAU,CAAC,EAC9B,CAAC;QACD,MAAM,IAAI,SAAS,CACjB,6BAA6B,CAC9B,CAAC;IACJ,CAAC;IAED,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,CACvB,KAAK,CAAC,UAAU,EAChB,KAAK,CAAC,UAAU;QACd,KAAK,CAAC,UAAU,CACJ,CAAC;AACnB,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Encodes bytes as standard Base64.
|
|
3
|
+
*/
|
|
4
|
+
export declare function toBase64(value: Uint8Array): string;
|
|
5
|
+
/**
|
|
6
|
+
* Decodes standard Base64 into bytes.
|
|
7
|
+
*/
|
|
8
|
+
export declare function fromBase64(value: string): Uint8Array;
|
|
9
|
+
/**
|
|
10
|
+
* Returns whether a string is valid standard Base64.
|
|
11
|
+
*/
|
|
12
|
+
export declare function isBase64(value: string): boolean;
|
|
13
|
+
//# sourceMappingURL=cryptoEncoding.base64.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cryptoEncoding.base64.d.ts","sourceRoot":"","sources":["../../src/cryptoEncoding/cryptoEncoding.base64.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,QAAQ,CACtB,KAAK,EAAE,UAAU,GAChB,MAAM,CAMR;AAED;;GAEG;AACH,wBAAgB,UAAU,CACxB,KAAK,EAAE,MAAM,GACZ,UAAU,CA2BZ;AAED;;GAEG;AACH,wBAAgB,QAAQ,CACtB,KAAK,EAAE,MAAM,GACZ,OAAO,CAWT"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Encodes bytes as standard Base64.
|
|
3
|
+
*/
|
|
4
|
+
export function toBase64(value) {
|
|
5
|
+
const binary = Array.from(value)
|
|
6
|
+
.map(b => String.fromCharCode(b))
|
|
7
|
+
.join("");
|
|
8
|
+
return btoa(binary);
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Decodes standard Base64 into bytes.
|
|
12
|
+
*/
|
|
13
|
+
export function fromBase64(value) {
|
|
14
|
+
if (!isBase64(value)) {
|
|
15
|
+
throw new TypeError("Invalid Base64 value.");
|
|
16
|
+
}
|
|
17
|
+
const binary = atob(value);
|
|
18
|
+
const result = new Uint8Array(binary.length);
|
|
19
|
+
for (let i = 0; i < binary.length; i += 1) {
|
|
20
|
+
result[i] =
|
|
21
|
+
binary.charCodeAt(i);
|
|
22
|
+
}
|
|
23
|
+
return result;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Returns whether a string is valid standard Base64.
|
|
27
|
+
*/
|
|
28
|
+
export function isBase64(value) {
|
|
29
|
+
if (typeof value !== "string" ||
|
|
30
|
+
value.length % 4 !== 0) {
|
|
31
|
+
return false;
|
|
32
|
+
}
|
|
33
|
+
return /^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(value);
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=cryptoEncoding.base64.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cryptoEncoding.base64.js","sourceRoot":"","sources":["../../src/cryptoEncoding/cryptoEncoding.base64.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,UAAU,QAAQ,CACtB,KAAiB;IAEjB,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;SAC7B,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;SAChC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEZ,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC;AACtB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CACxB,KAAa;IAEb,IACE,CAAC,QAAQ,CAAC,KAAK,CAAC,EAChB,CAAC;QACD,MAAM,IAAI,SAAS,CACjB,uBAAuB,CACxB,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GACV,IAAI,CAAC,KAAK,CAAC,CAAC;IAEd,MAAM,MAAM,GACV,IAAI,UAAU,CACZ,MAAM,CAAC,MAAM,CACd,CAAC;IAEJ,KACE,IAAI,CAAC,GAAG,CAAC,EACT,CAAC,GAAG,MAAM,CAAC,MAAM,EACjB,CAAC,IAAI,CAAC,EACN,CAAC;QACD,MAAM,CAAC,CAAC,CAAC;YACP,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,QAAQ,CACtB,KAAa;IAEb,IACE,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,EACtB,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,kEAAkE,CAAC,IAAI,CAC5E,KAAK,CACN,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Encodes bytes as URL-safe Base64 without padding.
|
|
3
|
+
*/
|
|
4
|
+
export declare function toBase64Url(value: Uint8Array): string;
|
|
5
|
+
/**
|
|
6
|
+
* Decodes URL-safe Base64 into bytes.
|
|
7
|
+
*/
|
|
8
|
+
export declare function fromBase64Url(value: string): Uint8Array;
|
|
9
|
+
/**
|
|
10
|
+
* Returns whether a string is valid URL-safe Base64.
|
|
11
|
+
*/
|
|
12
|
+
export declare function isBase64Url(value: string): boolean;
|
|
13
|
+
//# sourceMappingURL=cryptoEncoding.base64url.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cryptoEncoding.base64url.d.ts","sourceRoot":"","sources":["../../src/cryptoEncoding/cryptoEncoding.base64url.ts"],"names":[],"mappings":"AAQA;;GAEG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,UAAU,GAChB,MAAM,CAKR;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,MAAM,GACZ,UAAU,CAkCZ;AAED;;GAEG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,MAAM,GACZ,OAAO,CAUT"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { toBase64, } from "./cryptoEncoding.base64.js";
|
|
2
|
+
import { fromBase64, } from "./cryptoEncoding.base64.js";
|
|
3
|
+
/**
|
|
4
|
+
* Encodes bytes as URL-safe Base64 without padding.
|
|
5
|
+
*/
|
|
6
|
+
export function toBase64Url(value) {
|
|
7
|
+
return toBase64(value)
|
|
8
|
+
.replace(/\+/g, "-")
|
|
9
|
+
.replace(/\//g, "_")
|
|
10
|
+
.replace(/=+$/, "");
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Decodes URL-safe Base64 into bytes.
|
|
14
|
+
*/
|
|
15
|
+
export function fromBase64Url(value) {
|
|
16
|
+
if (value.length === 0) {
|
|
17
|
+
return new Uint8Array();
|
|
18
|
+
}
|
|
19
|
+
if (!isBase64Url(value)) {
|
|
20
|
+
throw new TypeError("Invalid Base64URL value.");
|
|
21
|
+
}
|
|
22
|
+
if (value.length % 4 === 1) {
|
|
23
|
+
throw new TypeError("Invalid Base64URL length.");
|
|
24
|
+
}
|
|
25
|
+
let base64 = value
|
|
26
|
+
.replace(/-/g, "+")
|
|
27
|
+
.replace(/_/g, "/");
|
|
28
|
+
while (base64.length % 4) {
|
|
29
|
+
base64 += "=";
|
|
30
|
+
}
|
|
31
|
+
return fromBase64(base64);
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Returns whether a string is valid URL-safe Base64.
|
|
35
|
+
*/
|
|
36
|
+
export function isBase64Url(value) {
|
|
37
|
+
if (typeof value !== "string") {
|
|
38
|
+
return false;
|
|
39
|
+
}
|
|
40
|
+
return /^(?:[A-Za-z0-9_-]{2,4})*(?:[A-Za-z0-9_-]{2,3})?$/.test(value);
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=cryptoEncoding.base64url.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cryptoEncoding.base64url.js","sourceRoot":"","sources":["../../src/cryptoEncoding/cryptoEncoding.base64url.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,GACT,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,UAAU,GACX,MAAM,4BAA4B,CAAC;AAEpC;;GAEG;AACH,MAAM,UAAU,WAAW,CACzB,KAAiB;IAEjB,OAAO,QAAQ,CAAC,KAAK,CAAC;SACnB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AACxB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAC3B,KAAa;IAEb,IACE,KAAK,CAAC,MAAM,KAAK,CAAC,EAClB,CAAC;QACD,OAAO,IAAI,UAAU,EAAE,CAAC;IAC1B,CAAC;IAED,IACE,CAAC,WAAW,CAAC,KAAK,CAAC,EACnB,CAAC;QACD,MAAM,IAAI,SAAS,CACjB,0BAA0B,CAC3B,CAAC;IACJ,CAAC;IAED,IACE,KAAK,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,EACtB,CAAC;QACD,MAAM,IAAI,SAAS,CACjB,2BAA2B,CAC5B,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,GAAG,KAAK;SACf,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;SAClB,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAEtB,OACE,MAAM,CAAC,MAAM,GAAG,CAAC,EACjB,CAAC;QACD,MAAM,IAAI,GAAG,CAAC;IAChB,CAAC;IAED,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC;AAC5B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CACzB,KAAa;IAEb,IACE,OAAO,KAAK,KAAK,QAAQ,EACzB,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,kDAAkD,CAAC,IAAI,CAC5D,KAAK,CACN,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { CryptoEncoding } from "./cryptoEncoding.core.js";
|
|
2
|
+
/**
|
|
3
|
+
* Compares two encoded values using constant-time comparison.
|
|
4
|
+
*
|
|
5
|
+
* Both values must use the same encoding.
|
|
6
|
+
*/
|
|
7
|
+
export declare function timingSafeEqualEncoded(left: string, right: string, encoding?: CryptoEncoding): boolean;
|
|
8
|
+
//# sourceMappingURL=cryptoEncoding.compare.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cryptoEncoding.compare.d.ts","sourceRoot":"","sources":["../../src/cryptoEncoding/cryptoEncoding.compare.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,cAAc,EACf,MAAM,0BAA0B,CAAC;AAMlC;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,QAAQ,GAAE,cAA4B,GACrC,OAAO,CAwBT"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { timingSafeEqual, } from "../compare/compare.helper.js";
|
|
2
|
+
import { decode, } from "./cryptoEncoding.core.js";
|
|
3
|
+
/**
|
|
4
|
+
* Compares two encoded values using constant-time comparison.
|
|
5
|
+
*
|
|
6
|
+
* Both values must use the same encoding.
|
|
7
|
+
*/
|
|
8
|
+
export function timingSafeEqualEncoded(left, right, encoding = "base64url") {
|
|
9
|
+
const leftBytes = decode(left, encoding);
|
|
10
|
+
const rightBytes = decode(right, encoding);
|
|
11
|
+
if (leftBytes.byteLength !==
|
|
12
|
+
rightBytes.byteLength) {
|
|
13
|
+
return false;
|
|
14
|
+
}
|
|
15
|
+
return timingSafeEqual(leftBytes, rightBytes);
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=cryptoEncoding.compare.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cryptoEncoding.compare.js","sourceRoot":"","sources":["../../src/cryptoEncoding/cryptoEncoding.compare.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,GAChB,MAAM,8BAA8B,CAAC;AAMtC,OAAO,EACL,MAAM,GACP,MAAM,0BAA0B,CAAC;AAElC;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CACpC,IAAY,EACZ,KAAa,EACb,QAAQ,GAAmB,WAAW;IAEtC,MAAM,SAAS,GACb,MAAM,CACJ,IAAI,EACJ,QAAQ,CACT,CAAC;IAEJ,MAAM,UAAU,GACd,MAAM,CACJ,KAAK,EACL,QAAQ,CACT,CAAC;IAEJ,IACE,SAAS,CAAC,UAAU;QACpB,UAAU,CAAC,UAAU,EACrB,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,eAAe,CACpB,SAAS,EACT,UAAU,CACX,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Supported binary encodings.
|
|
3
|
+
*/
|
|
4
|
+
export type CryptoEncoding = "hex" | "base64" | "base64url" | "utf8";
|
|
5
|
+
/**
|
|
6
|
+
* Encodes bytes into a string.
|
|
7
|
+
*/
|
|
8
|
+
export declare function encode(value: Uint8Array, encoding?: CryptoEncoding): string;
|
|
9
|
+
/**
|
|
10
|
+
* Decodes a string into bytes.
|
|
11
|
+
*/
|
|
12
|
+
export declare function decode(value: string, encoding?: CryptoEncoding): Uint8Array;
|
|
13
|
+
/**
|
|
14
|
+
* Encodes UTF-8 text into bytes.
|
|
15
|
+
*/
|
|
16
|
+
export declare function utf8Encode(value: string): Uint8Array;
|
|
17
|
+
/**
|
|
18
|
+
* Decodes UTF-8 bytes into a string.
|
|
19
|
+
*/
|
|
20
|
+
export declare function utf8Decode(value: Uint8Array): string;
|
|
21
|
+
//# sourceMappingURL=cryptoEncoding.core.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cryptoEncoding.core.d.ts","sourceRoot":"","sources":["../../src/cryptoEncoding/cryptoEncoding.core.ts"],"names":[],"mappings":"AAeA;;GAEG;AACH,MAAM,MAAM,cAAc,GACtB,KAAK,GACL,QAAQ,GACR,WAAW,GACX,MAAM,CAAC;AAEX;;GAEG;AACH,wBAAgB,MAAM,CACpB,KAAK,EAAE,UAAU,EACjB,QAAQ,GAAE,cAA4B,GACrC,MAAM,CAwBR;AAED;;GAEG;AACH,wBAAgB,MAAM,CACpB,KAAK,EAAE,MAAM,EACb,QAAQ,GAAE,cAA4B,GACrC,UAAU,CA8BZ;AAED;;GAEG;AACH,wBAAgB,UAAU,CACxB,KAAK,EAAE,MAAM,GACZ,UAAU,CAWZ;AAED;;GAEG;AACH,wBAAgB,UAAU,CACxB,KAAK,EAAE,UAAU,GAChB,MAAM,CAKR"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { toHex, fromHex, } from "./encoding/cryptoEncoding.hex.js";
|
|
2
|
+
import { toBase64, fromBase64, } from "./encoding/cryptoEncoding.base64.js";
|
|
3
|
+
import { toBase64Url, fromBase64Url, } from "./encoding/cryptoEncoding.base64url.js";
|
|
4
|
+
/**
|
|
5
|
+
* Encodes bytes into a string.
|
|
6
|
+
*/
|
|
7
|
+
export function encode(value, encoding = "base64url") {
|
|
8
|
+
assertBytes(value);
|
|
9
|
+
switch (encoding) {
|
|
10
|
+
case "hex":
|
|
11
|
+
return toHex(value);
|
|
12
|
+
case "base64":
|
|
13
|
+
return toBase64(value);
|
|
14
|
+
case "base64url":
|
|
15
|
+
return toBase64Url(value);
|
|
16
|
+
case "utf8":
|
|
17
|
+
return new TextDecoder()
|
|
18
|
+
.decode(value);
|
|
19
|
+
default:
|
|
20
|
+
throw new TypeError(`Unsupported crypto encoding: ${String(encoding)}.`);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Decodes a string into bytes.
|
|
25
|
+
*/
|
|
26
|
+
export function decode(value, encoding = "base64url") {
|
|
27
|
+
if (typeof value !== "string") {
|
|
28
|
+
throw new TypeError("Encoded value must be a string.");
|
|
29
|
+
}
|
|
30
|
+
switch (encoding) {
|
|
31
|
+
case "hex":
|
|
32
|
+
return fromHex(value);
|
|
33
|
+
case "base64":
|
|
34
|
+
return fromBase64(value);
|
|
35
|
+
case "base64url":
|
|
36
|
+
return fromBase64Url(value);
|
|
37
|
+
case "utf8":
|
|
38
|
+
return new TextEncoder()
|
|
39
|
+
.encode(value);
|
|
40
|
+
default:
|
|
41
|
+
throw new TypeError(`Unsupported crypto encoding: ${String(encoding)}.`);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Encodes UTF-8 text into bytes.
|
|
46
|
+
*/
|
|
47
|
+
export function utf8Encode(value) {
|
|
48
|
+
if (typeof value !== "string") {
|
|
49
|
+
throw new TypeError("UTF-8 input must be a string.");
|
|
50
|
+
}
|
|
51
|
+
return new TextEncoder()
|
|
52
|
+
.encode(value);
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Decodes UTF-8 bytes into a string.
|
|
56
|
+
*/
|
|
57
|
+
export function utf8Decode(value) {
|
|
58
|
+
assertBytes(value);
|
|
59
|
+
return new TextDecoder()
|
|
60
|
+
.decode(value);
|
|
61
|
+
}
|
|
62
|
+
function assertBytes(value) {
|
|
63
|
+
if (!(value instanceof Uint8Array)) {
|
|
64
|
+
throw new TypeError("Value must be a Uint8Array.");
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=cryptoEncoding.core.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cryptoEncoding.core.js","sourceRoot":"","sources":["../../src/cryptoEncoding/cryptoEncoding.core.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EACL,OAAO,GACR,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EACL,QAAQ,EACR,UAAU,GACX,MAAM,qCAAqC,CAAC;AAE7C,OAAO,EACL,WAAW,EACX,aAAa,GACd,MAAM,wCAAwC,CAAC;AAWhD;;GAEG;AACH,MAAM,UAAU,MAAM,CACpB,KAAiB,EACjB,QAAQ,GAAmB,WAAW;IAEtC,WAAW,CAAC,KAAK,CAAC,CAAC;IAEnB,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,KAAK;YACR,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC;QAEtB,KAAK,QAAQ;YACX,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC;QAEzB,KAAK,WAAW;YACd,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC;QAE5B,KAAK,MAAM;YACT,OAAO,IAAI,WAAW,EAAE;iBACrB,MAAM,CAAC,KAAK,CAAC,CAAC;QAEnB;YACE,MAAM,IAAI,SAAS,CACjB,gCAAgC,MAAM,CACpC,QAAQ,CACT,GAAG,CACL,CAAC;IACN,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,MAAM,CACpB,KAAa,EACb,QAAQ,GAAmB,WAAW;IAEtC,IACE,OAAO,KAAK,KAAK,QAAQ,EACzB,CAAC;QACD,MAAM,IAAI,SAAS,CACjB,iCAAiC,CAClC,CAAC;IACJ,CAAC;IAED,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,KAAK;YACR,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;QAExB,KAAK,QAAQ;YACX,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;QAE3B,KAAK,WAAW;YACd,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC;QAE9B,KAAK,MAAM;YACT,OAAO,IAAI,WAAW,EAAE;iBACrB,MAAM,CAAC,KAAK,CAAC,CAAC;QAEnB;YACE,MAAM,IAAI,SAAS,CACjB,gCAAgC,MAAM,CACpC,QAAQ,CACT,GAAG,CACL,CAAC;IACN,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CACxB,KAAa;IAEb,IACE,OAAO,KAAK,KAAK,QAAQ,EACzB,CAAC;QACD,MAAM,IAAI,SAAS,CACjB,+BAA+B,CAChC,CAAC;IACJ,CAAC;IAED,OAAO,IAAI,WAAW,EAAE;SACrB,MAAM,CAAC,KAAK,CAAC,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CACxB,KAAiB;IAEjB,WAAW,CAAC,KAAK,CAAC,CAAC;IAEnB,OAAO,IAAI,WAAW,EAAE;SACrB,MAAM,CAAC,KAAK,CAAC,CAAC;AACnB,CAAC;AAED,SAAS,WAAW,CAClB,KAAiB;IAEjB,IACE,CAAC,CAAC,KAAK,YAAY,UAAU,CAAC,EAC9B,CAAC;QACD,MAAM,IAAI,SAAS,CACjB,6BAA6B,CAC9B,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Encodes bytes as hexadecimal.
|
|
3
|
+
*/
|
|
4
|
+
export declare function toHex(value: Uint8Array): string;
|
|
5
|
+
/**
|
|
6
|
+
* Decodes hexadecimal into bytes.
|
|
7
|
+
*/
|
|
8
|
+
export declare function fromHex(value: string): Uint8Array;
|
|
9
|
+
/**
|
|
10
|
+
* Returns whether a string is valid hexadecimal.
|
|
11
|
+
*/
|
|
12
|
+
export declare function isHex(value: string): boolean;
|
|
13
|
+
//# sourceMappingURL=cryptoEncoding.hex.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cryptoEncoding.hex.d.ts","sourceRoot":"","sources":["../../src/cryptoEncoding/cryptoEncoding.hex.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,KAAK,CACnB,KAAK,EAAE,UAAU,GAChB,MAAM,CAIR;AAED;;GAEG;AACH,wBAAgB,OAAO,CACrB,KAAK,EAAE,MAAM,GACZ,UAAU,CA8BZ;AAED;;GAEG;AACH,wBAAgB,KAAK,CACnB,KAAK,EAAE,MAAM,GACZ,OAAO,CAMT"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Encodes bytes as hexadecimal.
|
|
3
|
+
*/
|
|
4
|
+
export function toHex(value) {
|
|
5
|
+
return Array.from(value)
|
|
6
|
+
.map(b => b.toString(16).padStart(2, "0"))
|
|
7
|
+
.join("");
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Decodes hexadecimal into bytes.
|
|
11
|
+
*/
|
|
12
|
+
export function fromHex(value) {
|
|
13
|
+
if (!isHex(value)) {
|
|
14
|
+
throw new TypeError("Invalid hexadecimal value.");
|
|
15
|
+
}
|
|
16
|
+
const result = new Uint8Array(value.length / 2);
|
|
17
|
+
for (let i = 0; i < value.length; i += 2) {
|
|
18
|
+
result[i / 2] =
|
|
19
|
+
parseInt(value.slice(i, i + 2), 16);
|
|
20
|
+
}
|
|
21
|
+
return result;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Returns whether a string is valid hexadecimal.
|
|
25
|
+
*/
|
|
26
|
+
export function isHex(value) {
|
|
27
|
+
return (typeof value === "string" &&
|
|
28
|
+
value.length % 2 === 0 &&
|
|
29
|
+
/^[0-9a-fA-F]*$/.test(value));
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=cryptoEncoding.hex.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cryptoEncoding.hex.js","sourceRoot":"","sources":["../../src/cryptoEncoding/cryptoEncoding.hex.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,UAAU,KAAK,CACnB,KAAiB;IAEjB,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;SACrB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;SACzC,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,OAAO,CACrB,KAAa;IAEb,IACE,CAAC,KAAK,CAAC,KAAK,CAAC,EACb,CAAC;QACD,MAAM,IAAI,SAAS,CACjB,4BAA4B,CAC7B,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GACV,IAAI,UAAU,CACZ,KAAK,CAAC,MAAM,GAAG,CAAC,CACjB,CAAC;IAEJ,KACE,IAAI,CAAC,GAAG,CAAC,EACT,CAAC,GAAG,KAAK,CAAC,MAAM,EAChB,CAAC,IAAI,CAAC,EACN,CAAC;QACD,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC;YACX,QAAQ,CACN,KAAK,CAAC,KAAK,CACT,CAAC,EACD,CAAC,GAAG,CAAC,CACN,EACD,EAAE,CACH,CAAC;IACN,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,KAAK,CACnB,KAAa;IAEb,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC;QACtB,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAC7B,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Encodes bytes as standard Base64.
|
|
3
|
+
*/
|
|
4
|
+
export declare function toBase64(value: Uint8Array): string;
|
|
5
|
+
/**
|
|
6
|
+
* Decodes standard Base64 into bytes.
|
|
7
|
+
*/
|
|
8
|
+
export declare function fromBase64(value: string): Uint8Array;
|
|
9
|
+
/**
|
|
10
|
+
* Returns whether a string is valid standard Base64.
|
|
11
|
+
*/
|
|
12
|
+
export declare function isBase64(value: string): boolean;
|
|
13
|
+
//# sourceMappingURL=cryptoEncoding.base64.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cryptoEncoding.base64.d.ts","sourceRoot":"","sources":["../../../src/cryptoEncoding/encoding/cryptoEncoding.base64.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,QAAQ,CACtB,KAAK,EAAE,UAAU,GAChB,MAAM,CAMR;AAED;;GAEG;AACH,wBAAgB,UAAU,CACxB,KAAK,EAAE,MAAM,GACZ,UAAU,CA2BZ;AAED;;GAEG;AACH,wBAAgB,QAAQ,CACtB,KAAK,EAAE,MAAM,GACZ,OAAO,CAYT"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Encodes bytes as standard Base64.
|
|
3
|
+
*/
|
|
4
|
+
export function toBase64(value) {
|
|
5
|
+
const binary = Array.from(value)
|
|
6
|
+
.map(b => String.fromCharCode(b))
|
|
7
|
+
.join("");
|
|
8
|
+
return btoa(binary);
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Decodes standard Base64 into bytes.
|
|
12
|
+
*/
|
|
13
|
+
export function fromBase64(value) {
|
|
14
|
+
if (!isBase64(value)) {
|
|
15
|
+
throw new TypeError("Invalid Base64 value.");
|
|
16
|
+
}
|
|
17
|
+
const binary = atob(value);
|
|
18
|
+
const result = new Uint8Array(binary.length);
|
|
19
|
+
for (let i = 0; i < binary.length; i += 1) {
|
|
20
|
+
result[i] =
|
|
21
|
+
binary.charCodeAt(i);
|
|
22
|
+
}
|
|
23
|
+
return result;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Returns whether a string is valid standard Base64.
|
|
27
|
+
*/
|
|
28
|
+
export function isBase64(value) {
|
|
29
|
+
if (typeof value !== "string" ||
|
|
30
|
+
value.length === 0 ||
|
|
31
|
+
value.length % 4 !== 0) {
|
|
32
|
+
return false;
|
|
33
|
+
}
|
|
34
|
+
return /^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(value);
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=cryptoEncoding.base64.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cryptoEncoding.base64.js","sourceRoot":"","sources":["../../../src/cryptoEncoding/encoding/cryptoEncoding.base64.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,UAAU,QAAQ,CACtB,KAAiB;IAEjB,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;SAC7B,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;SAChC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEZ,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC;AACtB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CACxB,KAAa;IAEb,IACE,CAAC,QAAQ,CAAC,KAAK,CAAC,EAChB,CAAC;QACD,MAAM,IAAI,SAAS,CACjB,uBAAuB,CACxB,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GACV,IAAI,CAAC,KAAK,CAAC,CAAC;IAEd,MAAM,MAAM,GACV,IAAI,UAAU,CACZ,MAAM,CAAC,MAAM,CACd,CAAC;IAEJ,KACE,IAAI,CAAC,GAAG,CAAC,EACT,CAAC,GAAG,MAAM,CAAC,MAAM,EACjB,CAAC,IAAI,CAAC,EACN,CAAC;QACD,MAAM,CAAC,CAAC,CAAC;YACP,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,QAAQ,CACtB,KAAa;IAEb,IACE,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,CAAC,MAAM,KAAK,CAAC;QAClB,KAAK,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,EACtB,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,kEAAkE,CAAC,IAAI,CAC5E,KAAK,CACN,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Encodes bytes as URL-safe Base64 without padding.
|
|
3
|
+
*/
|
|
4
|
+
export declare function toBase64Url(value: Uint8Array): string;
|
|
5
|
+
/**
|
|
6
|
+
* Decodes URL-safe Base64 into bytes.
|
|
7
|
+
*/
|
|
8
|
+
export declare function fromBase64Url(value: string): Uint8Array;
|
|
9
|
+
/**
|
|
10
|
+
* Returns whether a string is valid URL-safe Base64.
|
|
11
|
+
*/
|
|
12
|
+
export declare function isBase64Url(value: string): boolean;
|
|
13
|
+
//# sourceMappingURL=cryptoEncoding.base64url.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cryptoEncoding.base64url.d.ts","sourceRoot":"","sources":["../../../src/cryptoEncoding/encoding/cryptoEncoding.base64url.ts"],"names":[],"mappings":"AAQA;;GAEG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,UAAU,GAChB,MAAM,CAKR;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,MAAM,GACZ,UAAU,CAkCZ;AAED;;GAEG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,MAAM,GACZ,OAAO,CAWT"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { toBase64, } from "./cryptoEncoding.base64.js";
|
|
2
|
+
import { fromBase64, } from "./cryptoEncoding.base64.js";
|
|
3
|
+
/**
|
|
4
|
+
* Encodes bytes as URL-safe Base64 without padding.
|
|
5
|
+
*/
|
|
6
|
+
export function toBase64Url(value) {
|
|
7
|
+
return toBase64(value)
|
|
8
|
+
.replace(/\+/g, "-")
|
|
9
|
+
.replace(/\//g, "_")
|
|
10
|
+
.replace(/=+$/, "");
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Decodes URL-safe Base64 into bytes.
|
|
14
|
+
*/
|
|
15
|
+
export function fromBase64Url(value) {
|
|
16
|
+
if (value.length === 0) {
|
|
17
|
+
return new Uint8Array();
|
|
18
|
+
}
|
|
19
|
+
if (!isBase64Url(value)) {
|
|
20
|
+
throw new TypeError("Invalid Base64URL value.");
|
|
21
|
+
}
|
|
22
|
+
if (value.length % 4 === 1) {
|
|
23
|
+
throw new TypeError("Invalid Base64URL length.");
|
|
24
|
+
}
|
|
25
|
+
let base64 = value
|
|
26
|
+
.replace(/-/g, "+")
|
|
27
|
+
.replace(/_/g, "/");
|
|
28
|
+
while (base64.length % 4) {
|
|
29
|
+
base64 += "=";
|
|
30
|
+
}
|
|
31
|
+
return fromBase64(base64);
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Returns whether a string is valid URL-safe Base64.
|
|
35
|
+
*/
|
|
36
|
+
export function isBase64Url(value) {
|
|
37
|
+
if (typeof value !== "string" ||
|
|
38
|
+
value.length === 0) {
|
|
39
|
+
return false;
|
|
40
|
+
}
|
|
41
|
+
return /^(?:[A-Za-z0-9_-]{2,4})*(?:[A-Za-z0-9_-]{2,3})?$/.test(value);
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=cryptoEncoding.base64url.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cryptoEncoding.base64url.js","sourceRoot":"","sources":["../../../src/cryptoEncoding/encoding/cryptoEncoding.base64url.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,GACT,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,UAAU,GACX,MAAM,4BAA4B,CAAC;AAEpC;;GAEG;AACH,MAAM,UAAU,WAAW,CACzB,KAAiB;IAEjB,OAAO,QAAQ,CAAC,KAAK,CAAC;SACnB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AACxB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAC3B,KAAa;IAEb,IACE,KAAK,CAAC,MAAM,KAAK,CAAC,EAClB,CAAC;QACD,OAAO,IAAI,UAAU,EAAE,CAAC;IAC1B,CAAC;IAED,IACE,CAAC,WAAW,CAAC,KAAK,CAAC,EACnB,CAAC;QACD,MAAM,IAAI,SAAS,CACjB,0BAA0B,CAC3B,CAAC;IACJ,CAAC;IAED,IACE,KAAK,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,EACtB,CAAC;QACD,MAAM,IAAI,SAAS,CACjB,2BAA2B,CAC5B,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,GAAG,KAAK;SACf,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;SAClB,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAEtB,OACE,MAAM,CAAC,MAAM,GAAG,CAAC,EACjB,CAAC;QACD,MAAM,IAAI,GAAG,CAAC;IAChB,CAAC;IAED,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC;AAC5B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CACzB,KAAa;IAEb,IACE,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,CAAC,MAAM,KAAK,CAAC,EAClB,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,kDAAkD,CAAC,IAAI,CAC5D,KAAK,CACN,CAAC;AACJ,CAAC"}
|