@ledgerhq/domain-service
Version:
Ledger service responsible for domain handling
27 lines (22 loc) • 743 B
text/typescript
import {
DomainServiceResponseError,
DomainServiceResponseLoaded,
DomainServiceStatus,
} from "./types";
// Expiration date depend on the resource's status.
export function isOutdated(resource: DomainServiceStatus): boolean {
const now = Date.now();
switch (resource.status) {
case "loaded": {
return now - resource.updatedAt > 60 * 1000; // 1 minute
}
case "error": {
return now - resource.updatedAt > 30 * 1000; // 30 seconds
}
}
return false;
}
export const isLoaded = (domain: DomainServiceStatus): domain is DomainServiceResponseLoaded =>
domain.status === "loaded";
export const isError = (domain: DomainServiceStatus): domain is DomainServiceResponseError =>
domain.status === "error";