@funded-labs/plug-controller
Version:
Internet Computer Plug wallet's controller
26 lines (25 loc) • 1.06 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.IdentityFactory = void 0;
const identity_1 = __importDefault(require("./secpk256k1/identity"));
const ed25519Identity_1 = __importDefault(require("./ed25519/ed25519Identity"));
const constants_1 = require("../account/constants");
const errors_1 = require("../../errors");
class IdentityFactory {
static createIdentity(type, secretKey) {
switch (type) {
case constants_1.Types.secretKey256k1:
case constants_1.Types.pem256k1:
case constants_1.Types.mnemonic:
return identity_1.default.fromJSON(secretKey);
case constants_1.Types.pem25519:
return ed25519Identity_1.default.fromJSON(secretKey);
default:
throw new Error(errors_1.ERRORS.INVALID_TYPE_ERROR);
}
}
}
exports.IdentityFactory = IdentityFactory;