notbank
Version:
The Notbank for Node.js
27 lines (23 loc) • 734 B
text/typescript
import { MessageFrame } from "../core/websocket/messageFrame";
import { SubscriptionHandler } from "../core/websocket/subscriptionHandler";
export function newMaybeHandler<T>(
eventName: string,
recordHandler: ((record: T) => void) | null
): SubscriptionHandler<MessageFrame> | null {
if (recordHandler == null) {
return null;
}
return newHandler(eventName, recordHandler);
}
export function newHandler<T>(
eventName: string,
recordHandler: (record: T) => void
): SubscriptionHandler<MessageFrame> {
return {
eventName: eventName,
eventHandler: messageFrame => recordHandler(parseRecord(messageFrame.o))
};
}
export function parseRecord<T>(jsonData: string): T {
return JSON.parse(jsonData) as T;
}