| /** | |
| * @license | |
| * Copyright 2020 Google LLC | |
| * SPDX-License-Identifier: Apache-2.0 | |
| */ | |
| import {SecurityException} from '../exception/security_exception'; | |
| import {KeysetWriter} from './keyset_writer'; | |
| import {PbEncryptedKeyset, PbKeyset} from './proto'; | |
| /** | |
| * KeysetWriter knows how to write a keyset or an encrypted keyset. | |
| * | |
| * @final | |
| */ | |
| export class BinaryKeysetWriter implements KeysetWriter { | |
| encodeBinary(keyset: PbKeyset|PbEncryptedKeyset): Uint8Array { | |
| // keep serializeBinary calls monomorphic | |
| if (keyset instanceof PbKeyset) { | |
| return keyset.serializeBinary(); | |
| } | |
| if (keyset instanceof PbEncryptedKeyset) { | |
| return keyset.serializeBinary(); | |
| } | |
| throw new SecurityException('unexpected type for keyset.'); | |
| } | |
| } |