UNPKG

@mojsoski/server-crypto

Version:

Asymmetric key-exchange cryptography library

46 lines 1.58 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ServerManager = void 0; class ServerManager { _currentServer; _servers; _provider; get provider() { return this._provider; } constructor(currentServer, remotes, provider) { this._provider = provider; this._currentServer = currentServer; this._servers = new Map([...remotes].map((remote) => [remote.name.toLocaleLowerCase(), remote])); } get self() { return this._currentServer; } async *publicKeys() { yield [ this.self.name, { "application/pkix-spki": await this._provider.crypto.stringifyPublicKey(this.self.publicKey), "application/jwk+json": await this._provider.crypto.jwkPublicKey(this.self.publicKey), }, ]; for (const [name, server] of this._servers) { yield [ name, { "application/pkix-spki": await this._provider.crypto.stringifyPublicKey(server.publicKey), "application/jwk+json": await this._provider.crypto.jwkPublicKey(server.publicKey), }, ]; } } get(name) { const lowercaseName = name.toLocaleLowerCase(); if (lowercaseName === this._currentServer.name.toLocaleLowerCase()) { return this._currentServer; } return this._servers.get(lowercaseName); } } exports.ServerManager = ServerManager; //# sourceMappingURL=server-manager.js.map