@corvina/device-client
Version:
Corvina NodeJS Device Client
223 lines • 7.56 kB
TypeScript
export type StateTS = number;
export declare const INVALID_STATE_TS: number;
export declare enum Quality {
GOOD = 0,
UNCERTAIN = 1,
BAD = 2
}
export declare class State {
value: any;
timestamp: StateTS;
constructor(value?: any, timestamp?: StateTS);
get quality(): Quality;
clone(): State;
}
export declare abstract class MessagePublisherPolicy {
protected _nextTime: StateTS;
constructor();
abstract updateState({ tagName, newState, currentTime, }: {
tagName: string;
newState: State;
currentTime: StateTS;
}): StateTS;
get nextTime(): number;
rearm(currentTime: StateTS): StateTS;
referencedTags(): string[];
setDefaultTagName(tagName: string): void;
setFieldTagName({ fieldName, tagName }: {
fieldName: string;
tagName: string;
}): void;
multiTagVersion(tags: string[]): any;
clone(): any;
}
export declare abstract class MessagePublisher_OperatorPolicy extends MessagePublisherPolicy {
constructor(operands?: MessagePublisherPolicy[]);
addOperand(op: MessagePublisherPolicy): void;
operand(i: number): MessagePublisherPolicy;
referencedTags(): string[];
setDefaultTagName(tagName: string): void;
setFieldTagName({ fieldName, tagName }: {
fieldName: string;
tagName: string;
}): void;
updateState({ tagName, newState, currentTime, }: {
tagName: string;
newState: State;
currentTime: StateTS;
}): StateTS;
multiTagVersion(tags: string[]): MessagePublisher_OperatorPolicy;
protected clear(): void;
abstract operatorKeyword(): string;
toString(): string;
protected _operands: MessagePublisherPolicy[];
clone(): MessagePublisher_OperatorPolicy;
}
export declare class MessagePublisher_AndPolicy extends MessagePublisher_OperatorPolicy {
constructor(operands?: MessagePublisherPolicy[]);
updateState({ tagName, newState, currentTime, }: {
tagName: string;
newState: State;
currentTime: StateTS;
}): StateTS;
rearm(currentTime: StateTS): StateTS;
operatorKeyword(): string;
}
export declare class MessagePublisher_OrPolicy extends MessagePublisher_OperatorPolicy {
constructor(operands?: MessagePublisherPolicy[]);
updateState({ tagName, newState, currentTime, }: {
tagName: string;
newState: State;
currentTime: StateTS;
}): StateTS;
rearm(currentTime: StateTS): StateTS;
operatorKeyword(): string;
}
declare abstract class MessagePublisher_TagBasedPolicy extends MessagePublisherPolicy {
constructor(tagName?: string);
get tagName(): string;
setDefaultTagName(tagName: string): void;
referencedTags(): string[];
multiTagVersion(tags: string[]): any;
abstract defaultMultitagOperator(): MessagePublisher_OperatorPolicy;
toString(): string;
protected _tagName: string;
}
export declare class MessagePublisher_QualityPolicy extends MessagePublisher_TagBasedPolicy {
protected _expectGood: boolean;
constructor({ tagName, expectGood }: {
tagName: string;
expectGood: boolean;
});
updateState({ tagName, newState, currentTime, }: {
tagName: string;
newState: State;
currentTime: StateTS;
}): StateTS;
toString(): string;
defaultMultitagOperator(): MessagePublisher_AndPolicy | MessagePublisher_OrPolicy;
}
export declare enum ChangeMask {
ValueChange = 1,
QualityChange = 2,
SourceTimestampChange = 4,
AnyChange = 5
}
export declare class MessagePublisher_OnChangedPolicy extends MessagePublisher_TagBasedPolicy {
constructor({ tagName, changeMask, skipFirstNChanges, deadband, isPercent, }: {
tagName?: string;
changeMask?: ChangeMask;
skipFirstNChanges?: number;
deadband?: number;
isPercent?: boolean;
});
updateState({ tagName, newState, currentTime, }: {
tagName: string;
newState: State;
currentTime: StateTS;
}): StateTS;
toString(): string;
defaultMultitagOperator(): MessagePublisher_OrPolicy;
protected isOutOfDeadband(v1: any, v2: any): boolean;
protected _lastState: State;
protected _changeMask: ChangeMask;
protected _skipFirstNChanges: number;
protected _deadband: number;
protected _isPercent: boolean;
clone(): any;
}
export declare class MessagePublisher_TimerPolicy extends MessagePublisherPolicy {
constructor(interval?: number);
updateState({ tagName, newState, currentTime, }: {
tagName: string;
newState: State;
currentTime: StateTS;
}): StateTS;
rearm(currentTime: StateTS): StateTS;
toString(): string;
protected _interval: number;
}
export declare class MessagePublisher_AnalogBandPolicy extends MessagePublisher_TagBasedPolicy {
protected _min: number;
protected _max: number;
protected _inside: boolean;
constructor({ tagName, min, max, inside }: {
tagName?: string;
min?: number;
max?: number;
inside?: boolean;
});
updateState({ tagName, newState, currentTime, }: {
tagName: string;
newState: State;
currentTime: StateTS;
}): StateTS;
toString(): string;
defaultMultitagOperator(): MessagePublisher_AndPolicy;
protected isInBand(v: any): boolean;
}
export declare class MessagePublisher_OnFieldChangedPolicy extends MessagePublisher_OnChangedPolicy {
protected _fieldName: string;
constructor({ fieldName, changeMask, skipFirstNChanges, deadband, isPercent, }: {
fieldName: string;
changeMask?: ChangeMask;
skipFirstNChanges?: number;
deadband?: number;
isPercent?: boolean;
});
setTagName(tagName: string): void;
get fieldName(): string;
setFieldTagName({ fieldName, tagName }: {
fieldName: string;
tagName: string;
}): void;
}
export declare enum LevelMode {
OnEnter = 1,
OnExit = 2,
OnEnterExit = 3
}
export declare class MessagePublisher_OnLevelPolicy<LevelType> extends MessagePublisher_TagBasedPolicy {
protected _lastState: State;
protected _skipFirstNChanges: number;
protected _min: number;
protected _max: number;
protected _level: LevelType;
protected _mode: LevelMode;
constructor({ tagName, level, levelMode, skipFirstNChanges, deadband, isPercent, }: {
tagName?: string;
level?: LevelType;
levelMode?: LevelMode;
skipFirstNChanges?: number;
deadband?: number;
isPercent?: boolean;
});
toString(): string;
defaultMultitagOperator(): MessagePublisher_OrPolicy;
updateState({ tagName, newState, currentTime, }: {
tagName: string;
newState: State;
currentTime: StateTS;
}): StateTS;
protected isInBand(v: LevelType): boolean;
clone(): any;
}
export declare class MessagePublisher_OnFieldLevelPolicy<LevelType> extends MessagePublisher_OnLevelPolicy<LevelType> {
protected _fieldName: string;
constructor({ fieldName, level, levelMode, skipFirstNChanges, deadband, isPercent, }: {
fieldName?: string;
level?: LevelType;
levelMode?: LevelMode;
skipFirstNChanges?: number;
deadband?: number;
isPercent?: boolean;
});
setTagName(tagName: string): void;
get fieldName(): string;
setFieldTagName({ fieldName, tagName }: {
fieldName: string;
tagName: string;
}): void;
}
export {};
//# sourceMappingURL=messagepublisherpolicies.d.ts.map