/* This file is part of the WebKit open source project. This file has been generated by generate-bindings.pl. DO NOT MODIFY! This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #include "config.h" #if ENABLE(WEB_CRYPTO) #include "JSCryptoKeyUsage.h" #include #include #include #include namespace WebCore { using namespace JSC; String convertEnumerationToString(CryptoKeyUsage enumerationValue) { static const NeverDestroyed values[] = { MAKE_STATIC_STRING_IMPL("encrypt"), MAKE_STATIC_STRING_IMPL("decrypt"), MAKE_STATIC_STRING_IMPL("sign"), MAKE_STATIC_STRING_IMPL("verify"), MAKE_STATIC_STRING_IMPL("deriveKey"), MAKE_STATIC_STRING_IMPL("deriveBits"), MAKE_STATIC_STRING_IMPL("wrapKey"), MAKE_STATIC_STRING_IMPL("unwrapKey"), }; static_assert(static_cast(CryptoKeyUsage::Encrypt) == 0, "CryptoKeyUsage::Encrypt is not 0 as expected"); static_assert(static_cast(CryptoKeyUsage::Decrypt) == 1, "CryptoKeyUsage::Decrypt is not 1 as expected"); static_assert(static_cast(CryptoKeyUsage::Sign) == 2, "CryptoKeyUsage::Sign is not 2 as expected"); static_assert(static_cast(CryptoKeyUsage::Verify) == 3, "CryptoKeyUsage::Verify is not 3 as expected"); static_assert(static_cast(CryptoKeyUsage::DeriveKey) == 4, "CryptoKeyUsage::DeriveKey is not 4 as expected"); static_assert(static_cast(CryptoKeyUsage::DeriveBits) == 5, "CryptoKeyUsage::DeriveBits is not 5 as expected"); static_assert(static_cast(CryptoKeyUsage::WrapKey) == 6, "CryptoKeyUsage::WrapKey is not 6 as expected"); static_assert(static_cast(CryptoKeyUsage::UnwrapKey) == 7, "CryptoKeyUsage::UnwrapKey is not 7 as expected"); ASSERT(static_cast(enumerationValue) < std::size(values)); return values[static_cast(enumerationValue)]; } template<> JSString* convertEnumerationToJS(JSGlobalObject& lexicalGlobalObject, CryptoKeyUsage enumerationValue) { return jsStringWithCache(lexicalGlobalObject.vm(), convertEnumerationToString(enumerationValue)); } template<> std::optional parseEnumeration(JSGlobalObject& lexicalGlobalObject, JSValue value) { auto stringValue = value.toWTFString(&lexicalGlobalObject); static constexpr std::pair mappings[] = { { "decrypt", CryptoKeyUsage::Decrypt }, { "deriveBits", CryptoKeyUsage::DeriveBits }, { "deriveKey", CryptoKeyUsage::DeriveKey }, { "encrypt", CryptoKeyUsage::Encrypt }, { "sign", CryptoKeyUsage::Sign }, { "unwrapKey", CryptoKeyUsage::UnwrapKey }, { "verify", CryptoKeyUsage::Verify }, { "wrapKey", CryptoKeyUsage::WrapKey }, }; static constexpr SortedArrayMap enumerationMapping { mappings }; if (auto* enumerationValue = enumerationMapping.tryGet(stringValue); LIKELY(enumerationValue)) return *enumerationValue; return std::nullopt; } template<> const char* expectedEnumerationValues() { return "\"encrypt\", \"decrypt\", \"sign\", \"verify\", \"deriveKey\", \"deriveBits\", \"wrapKey\", \"unwrapKey\""; } } // namespace WebCore #endif // ENABLE(WEB_CRYPTO) on value='dylan/fix-error-inlining'>dylan/fix-error-inlining Unnamed repository; edit this file 'description' to name the repository.
aboutsummaryrefslogtreecommitdiff
AgeCommit message (Expand)AuthorFilesLines
2022-10-27Add a stub for io_darwin on linuxGravatar Jarred Sumner 1-0/+12
2022-10-27Allow overriding node polyfills via `BUN_OVERRIDE_MODULE_PATH`Gravatar Jarred Sumner 5-35/+169
2022-10-27Add missing dependencies to `make devcontainer`Gravatar Jarred Sumner 1-2/+2
2022-10-27Implement `process.release`Gravatar Jarred Sumner 3-0/+49
2022-10-27Check published_at instead of draft in GitHub actionGravatar Ashcon Partovi 1-1/+1
2022-10-27Run homebrew action when release is editedGravatar Ashcon Partovi 1-1/+2
2022-10-27Fix typo in homebrew actionGravatar Ashcon Partovi 1-1/+1
2022-10-26Prefer `BUN_PORT` over `PORT`bun-v0.2.2Gravatar Jarred Sumner 1-1/+1
2022-10-26Update server.zigGravatar Jarred Sumner 1-1/+1
2022-10-26Make `"tls"` an explicit object we pass instead of implicit top-level optionsGravatar Jarred Sumner 2-9/+25
2022-10-26againnGravatar Jarred Sumner 3-6/+6
2022-10-26try againnGravatar Jarred Sumner 2-3/+2
2022-10-26Limit concurrency for MacOS Object actionsGravatar Ashcon Partovi 3-0/+3
2022-10-26temporary fixGravatar Jarred Sumner 4-4/+0
2022-10-26FixupGravatar Jarred Sumner 4-5/+5
2022-10-26Move this to dependencies so the .a files uploadGravatar Jarred Sumner 3-6/+4
2022-10-26Make these tests betterGravatar Jarred Sumner 1-2/+2
2022-10-26Limit concurrency for GitHub Actions due to issues with cache poisoningGravatar Ashcon Partovi 4-0/+4
2022-10-26Fix issue with `CryptoKey` and `SubtleCrypto` constructorsGravatar Jarred Sumner 2-27/+10
2022-10-26Minor fixes to README.md (#1395)Gravatar João Paquim 1-3/+3
2022-10-26Update Dev Containers extension name (#1393)Gravatar João Paquim 1-2/+2
2022-10-25Fix failing macOS buildGravatar Jarred Sumner 4-4/+7
2022-10-25Update MakefileGravatar Jarred Sumner 1-2/+1
2022-10-25Update MakefileGravatar Jarred Sumner 1-2/+1
2022-10-25Update MakefileGravatar Jarred Sumner 1-17/+12