UNPKG

nats

Version:

Node.js client for NATS, a lightweight, high-performance cloud native messaging system

59 lines (58 loc) 1.51 kB
export type SemVer = { major: number; minor: number; micro: number; }; export declare function parseSemVer(s?: string): SemVer; export declare function compare(a: SemVer, b: SemVer): number; export declare enum Feature { JS_KV = "js_kv", JS_OBJECTSTORE = "js_objectstore", JS_PULL_MAX_BYTES = "js_pull_max_bytes", JS_NEW_CONSUMER_CREATE_API = "js_new_consumer_create", JS_ALLOW_DIRECT = "js_allow_direct" } type FeatureVersion = { ok: boolean; min: string; }; export declare class Features { server: SemVer; features: Map<Feature, FeatureVersion>; disabled: Feature[]; constructor(v: SemVer); /** * Removes all disabled entries */ resetDisabled(): void; /** * Disables a particular feature. * @param f */ disable(f: Feature): void; isDisabled(f: Feature): boolean; update(v: SemVer | string): void; /** * Register a feature that requires a particular server version. * @param f * @param requires */ set(f: Feature, requires: string): void; /** * Returns whether the feature is available and the min server * version that supports it. * @param f */ get(f: Feature): FeatureVersion; /** * Returns true if the feature is supported * @param f */ supports(f: Feature): boolean; /** * Returns true if the server is at least the specified version * @param v */ require(v: SemVer | string): boolean; } export {};