{"version":3,"file":"serde.mjs","sources":["../../../../../src/client/utils/passkey/serde.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { convertArrayBufferToBase64Url, convertBase64UrlToArrayBuffer, } from '../../../foundation/convert';\n/**\n * Deserializes Public Key Credential Creation Options JSON\n * @param input PasskeyCreateOptionsJson\n * @returns PublicKeyCredentialCreationOptions\n */\nexport const deserializeJsonToPkcCreationOptions = (input) => {\n    const userIdBuffer = convertBase64UrlToArrayBuffer(input.user.id);\n    const challengeBuffer = convertBase64UrlToArrayBuffer(input.challenge);\n    const excludeCredentialsWithBuffer = (input.excludeCredentials || []).map(excludeCred => ({\n        ...excludeCred,\n        id: convertBase64UrlToArrayBuffer(excludeCred.id),\n    }));\n    return {\n        ...input,\n        excludeCredentials: excludeCredentialsWithBuffer,\n        challenge: challengeBuffer,\n        user: {\n            ...input.user,\n            id: userIdBuffer,\n        },\n    };\n};\n/**\n * Serializes a Public Key Credential With Attestation to JSON\n * @param input PasskeyCreateResult\n * @returns PasskeyCreateResultJson\n */\nexport const serializePkcWithAttestationToJson = (input) => {\n    const response = {\n        clientDataJSON: convertArrayBufferToBase64Url(input.response.clientDataJSON),\n        attestationObject: convertArrayBufferToBase64Url(input.response.attestationObject),\n        transports: input.response.getTransports(),\n        publicKeyAlgorithm: input.response.getPublicKeyAlgorithm(),\n        authenticatorData: convertArrayBufferToBase64Url(input.response.getAuthenticatorData()),\n    };\n    const publicKey = input.response.getPublicKey();\n    if (publicKey) {\n        response.publicKey = convertArrayBufferToBase64Url(publicKey);\n    }\n    const resultJson = {\n        type: input.type,\n        id: input.id,\n        rawId: convertArrayBufferToBase64Url(input.rawId),\n        clientExtensionResults: input.getClientExtensionResults(),\n        response,\n    };\n    if (input.authenticatorAttachment) {\n        resultJson.authenticatorAttachment = input.authenticatorAttachment;\n    }\n    return resultJson;\n};\n/**\n * Deserializes Public Key Credential Get Options JSON\n * @param input PasskeyGetOptionsJson\n * @returns PublicKeyCredentialRequestOptions\n */\nexport const deserializeJsonToPkcGetOptions = (input) => {\n    const challengeBuffer = convertBase64UrlToArrayBuffer(input.challenge);\n    const allowedCredentialsWithBuffer = (input.allowCredentials || []).map(allowedCred => ({\n        ...allowedCred,\n        id: convertBase64UrlToArrayBuffer(allowedCred.id),\n    }));\n    return {\n        ...input,\n        challenge: challengeBuffer,\n        allowCredentials: allowedCredentialsWithBuffer,\n    };\n};\n/**\n * Serializes a Public Key Credential With Attestation to JSON\n * @param input PasskeyGetResult\n * @returns PasskeyGetResultJson\n */\nexport const serializePkcWithAssertionToJson = (input) => {\n    const response = {\n        clientDataJSON: convertArrayBufferToBase64Url(input.response.clientDataJSON),\n        authenticatorData: convertArrayBufferToBase64Url(input.response.authenticatorData),\n        signature: convertArrayBufferToBase64Url(input.response.signature),\n    };\n    if (input.response.userHandle) {\n        response.userHandle = convertArrayBufferToBase64Url(input.response.userHandle);\n    }\n    const resultJson = {\n        id: input.id,\n        rawId: convertArrayBufferToBase64Url(input.rawId),\n        type: input.type,\n        clientExtensionResults: input.getClientExtensionResults(),\n        response,\n    };\n    if (input.authenticatorAttachment) {\n        resultJson.authenticatorAttachment = input.authenticatorAttachment;\n    }\n    return resultJson;\n};\n"],"names":[],"mappings":"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"}