@metamask/keyring-utils
Version:
MetaMask Keyring utils
33 lines • 1.14 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.StringNumberStruct = exports.UrlStruct = exports.AccountIdStruct = exports.UuidStruct = void 0;
const superstruct_1 = require("@metamask/superstruct");
const utils_1 = require("@metamask/utils");
/**
* UUIDv4 struct.
*/
exports.UuidStruct = (0, utils_1.definePattern)('UuidV4', /^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/iu);
/**
* Account ID (UUIDv4).
*/
exports.AccountIdStruct = exports.UuidStruct; // Alias for better naming purposes.
/**
* Validates if a given value is a valid URL.
*
* @param value - The value to be validated.
* @returns A boolean indicating if the value is a valid URL.
*/
exports.UrlStruct = (0, superstruct_1.define)('Url', (value) => {
try {
const url = new URL(value);
return url.protocol === 'http:' || url.protocol === 'https:';
}
catch {
return false;
}
});
/**
* A string which contains a positive float number.
*/
exports.StringNumberStruct = (0, utils_1.definePattern)('StringNumber', /^\d+(\.\d+)?$/u);
//# sourceMappingURL=types.cjs.map