You've already forked node-redis
mirror of
https://github.com/redis/node-redis.git
synced 2025-08-04 15:02:09 +03:00
* Support all GEORADIUS Commands * move store bool to options * simplify transformReply for store commands * clean code Co-authored-by: leibale <leibale1998@gmail.com>
39 lines
973 B
TypeScript
39 lines
973 B
TypeScript
import { RedisCommandArgument, RedisCommandArguments } from '.';
|
|
import { GeoSearchFrom, GeoSearchBy, GeoSearchOptions, pushGeoSearchArguments } from './generic-transformers';
|
|
|
|
export { FIRST_KEY_INDEX, IS_READ_ONLY } from './GEOSEARCH';
|
|
|
|
interface GeoSearchStoreOptions extends GeoSearchOptions {
|
|
STOREDIST?: true;
|
|
}
|
|
|
|
export function transformArguments(
|
|
destination: RedisCommandArgument,
|
|
source: RedisCommandArgument,
|
|
from: GeoSearchFrom,
|
|
by: GeoSearchBy,
|
|
options?: GeoSearchStoreOptions
|
|
): RedisCommandArguments {
|
|
const args = pushGeoSearchArguments(
|
|
['GEOSEARCHSTORE', destination],
|
|
source,
|
|
from,
|
|
by,
|
|
options
|
|
);
|
|
|
|
if (options?.STOREDIST) {
|
|
args.push('STOREDIST');
|
|
}
|
|
|
|
return args;
|
|
}
|
|
|
|
export function transformReply(reply: number): number {
|
|
if (typeof reply !== 'number') {
|
|
throw new TypeError(`https://github.com/redis/redis/issues/9261`);
|
|
}
|
|
|
|
return reply;
|
|
}
|