dune-ts
Version:
Unofficial Dune Analytics Typescript Client
14 lines • 2.17 kB
JavaScript
import { MAX_AGE } from '../constants';
import { isAfter } from '../utils';
export const maybeLogin = () => {
return function (target, propertyKey, descriptor) {
const originalMethod = descriptor.value;
descriptor.value = async function (...args) {
const loggedAt = this['loggedAt'];
if (loggedAt === undefined || isAfter(loggedAt, MAX_AGE))
await this.login();
return originalMethod.apply(this, args);
};
};
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9yLUR1bmUuanMiLCJzb3VyY2VSb290Ijoic3JjLyIsInNvdXJjZXMiOlsiZGVjb3JhdG9ycy9mb3ItRHVuZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBRXRDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxVQUFVLENBQUE7QUFFbEMsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLEdBQUcsRUFBRTtJQUM3QixPQUFPLFVBQ0wsTUFBYyxFQUNkLFdBQW1CLEVBQ25CLFVBQThCO1FBRTlCLE1BQU0sY0FBYyxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUE7UUFFdkMsVUFBVSxDQUFDLEtBQUssR0FBRyxLQUFLLFdBQVcsR0FBRyxJQUFhO1lBQ2pELE1BQU0sUUFBUSxHQUFJLElBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQTtZQUUzQyxJQUFJLFFBQVEsS0FBSyxTQUFTLElBQUksT0FBTyxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUM7Z0JBQ3RELE1BQU8sSUFBYSxDQUFDLEtBQUssRUFBRSxDQUFBO1lBRTlCLE9BQU8sY0FBYyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUE7UUFDekMsQ0FBQyxDQUFBO0lBQ0gsQ0FBQyxDQUFBO0FBQ0gsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTUFYX0FHRSB9IGZyb20gJy4uL2NvbnN0YW50cydcbmltcG9ydCB7IER1bmUgfSBmcm9tICcuLi9EdW5lJ1xuaW1wb3J0IHsgaXNBZnRlciB9IGZyb20gJy4uL3V0aWxzJ1xuXG5leHBvcnQgY29uc3QgbWF5YmVMb2dpbiA9ICgpID0+IHtcbiAgcmV0dXJuIGZ1bmN0aW9uIChcbiAgICB0YXJnZXQ6IG9iamVjdCxcbiAgICBwcm9wZXJ0eUtleTogc3RyaW5nLFxuICAgIGRlc2NyaXB0b3I6IFByb3BlcnR5RGVzY3JpcHRvcixcbiAgKSB7XG4gICAgY29uc3Qgb3JpZ2luYWxNZXRob2QgPSBkZXNjcmlwdG9yLnZhbHVlXG5cbiAgICBkZXNjcmlwdG9yLnZhbHVlID0gYXN5bmMgZnVuY3Rpb24gKC4uLmFyZ3M6IG5ldmVyW10pIHtcbiAgICAgIGNvbnN0IGxvZ2dlZEF0ID0gKHRoaXMgYXMgRHVuZSlbJ2xvZ2dlZEF0J11cblxuICAgICAgaWYgKGxvZ2dlZEF0ID09PSB1bmRlZmluZWQgfHwgaXNBZnRlcihsb2dnZWRBdCwgTUFYX0FHRSkpXG4gICAgICAgIGF3YWl0ICh0aGlzIGFzIER1bmUpLmxvZ2luKClcblxuICAgICAgcmV0dXJuIG9yaWdpbmFsTWV0aG9kLmFwcGx5KHRoaXMsIGFyZ3MpXG4gICAgfVxuICB9XG59XG4iXX0=