You've already forked node-redis
mirror of
https://github.com/redis/node-redis.git
synced 2025-08-06 02:15:48 +03:00
init time series
This commit is contained in:
46
packages/time-series/lib/commands/ADD.ts
Normal file
46
packages/time-series/lib/commands/ADD.ts
Normal file
@@ -0,0 +1,46 @@
|
||||
import {
|
||||
transformTimestampArgument,
|
||||
pushRetentionArgument,
|
||||
TimeSeriesEncoding,
|
||||
pushEncodingArgument,
|
||||
pushChunkSizeArgument,
|
||||
TimeSeriesDuplicatePolicies,
|
||||
Labels,
|
||||
pushLabelsArgument,
|
||||
Timestamp,
|
||||
} from '.';
|
||||
|
||||
interface AddOptions {
|
||||
RETENTION?: number;
|
||||
ENCODING?: TimeSeriesEncoding;
|
||||
CHUNK_SIZE?: number;
|
||||
ON_DUPLICATE?: TimeSeriesDuplicatePolicies;
|
||||
LABELS?: Labels;
|
||||
}
|
||||
|
||||
export const FIRST_KEY_INDEX = 1;
|
||||
|
||||
export function transformArguments(key: string, timestamp: Timestamp, value: number, options?: AddOptions): Array<string> {
|
||||
const args = [
|
||||
'TS.ADD',
|
||||
key,
|
||||
transformTimestampArgument(timestamp),
|
||||
value.toString()
|
||||
];
|
||||
|
||||
pushRetentionArgument(args, options?.RETENTION);
|
||||
|
||||
pushEncodingArgument(args, options?.ENCODING);
|
||||
|
||||
pushChunkSizeArgument(args, options?.CHUNK_SIZE);
|
||||
|
||||
if (options?.ON_DUPLICATE) {
|
||||
args.push('ON_DUPLICATE', options.ON_DUPLICATE);
|
||||
}
|
||||
|
||||
pushLabelsArgument(args, options?.LABELS);
|
||||
|
||||
return args;
|
||||
}
|
||||
|
||||
export declare function transformReply(): number;
|
Reference in New Issue
Block a user