From bc4e5c353cfcb60617dbb725e1831ec43bc131dd Mon Sep 17 00:00:00 2001 From: Kharec Date: Mon, 22 Dec 2025 13:52:16 +0100 Subject: [PATCH] feat: add incr() and exists() methods --- lib/Urupam/DB.pm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/lib/Urupam/DB.pm b/lib/Urupam/DB.pm index 34235fc..6252f07 100644 --- a/lib/Urupam/DB.pm +++ b/lib/Urupam/DB.pm @@ -33,4 +33,33 @@ sub set { return $promise; } +sub incr { + my ( $self, $key ) = @_; + my $promise = Mojo::Promise->new; + $self->redis->incr( + $key => sub { + my ( $redis, $err, $value ) = @_; + $err ? $promise->reject($err) : $promise->resolve($value); + } + ); + return $promise; +} + +sub exists { + my ( $self, $key ) = @_; + my $promise = Mojo::Promise->new; + $self->redis->exists( + $key => sub { + my ( $redis, $err, $exists ) = @_; + if ($err) { + $promise->reject($err); + } + else { + $promise->resolve( $exists ? 1 : 0 ); + } + } + ); + return $promise; +} + 1;