@ledgerhq/domain-service
Version:
Ledger service responsible for domain handling
40 lines • 1.17 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.validateDomain = exports.allSettled = void 0;
/**
* Needed polyfill for Promise.allSettled as it doesn't exist on RN.
*/
const allSettled = (promises) => {
return Promise.all(promises.map(p => {
return p
.then(value => {
return {
status: "fulfilled",
value,
};
})
.catch((reason) => {
return {
status: "rejected",
reason,
};
});
}));
};
exports.allSettled = allSettled;
/**
* Helper to know in advance if a domain is compatible with the nano
*
* @param domain string representing the domain
* @returns {Boolean}
*/
const validateDomain = (domain) => {
if (typeof domain !== "string") {
return false;
}
const lengthIsValid = domain.length > 0 && Number(domain.length) < 30;
const containsOnlyValidChars = new RegExp("^[a-zA-Z0-9\\-\\_\\.]+$").test(domain);
return lengthIsValid && containsOnlyValidChars;
};
exports.validateDomain = validateDomain;
//# sourceMappingURL=index.js.map
;