import { CONNECTION_ERROR_MSG_ALREADY_EXISTS_PREFIX, CONNECTION_ERROR_MSG_CHANNEL_ALREADY_EXISTS_PREFIX, CONNECTION_ERROR_MSG_CHANNEL_NOT_FOUND_PREFIX, CONNECTION_ERROR_MSG_DISPOSED_SUFFIX, CONNECTION_ERROR_MSG_INVALID_NAME_PREFIX, CONNECTION_ERROR_MSG_NOT_FOUND_PREFIX, CONNECTION_ERROR_PREFIX, CONNECTION_ID_PREFIX, CONNECTION_ID_SEPARATOR, CONNECTION_MODULE, CONNECTION_LOGGER_SCOPE_SEPARATOR, CONNECTION_LOG_MSG_LISTENER_THREW_PREFIX } from './consts.ts'; export function disposedErrorMessage(method: string): string { return `${CONNECTION_ERROR_PREFIX}${method}${CONNECTION_ERROR_MSG_DISPOSED_SUFFIX}`; } export function alreadyExistsErrorMessage(name: string): string { return `${CONNECTION_ERROR_PREFIX}${CONNECTION_ERROR_MSG_ALREADY_EXISTS_PREFIX}${name}`; } export function notFoundErrorMessage(name: string): string { return `${CONNECTION_ERROR_PREFIX}${CONNECTION_ERROR_MSG_NOT_FOUND_PREFIX}${name}`; } export function invalidNameErrorMessage(name: unknown): string { return `${CONNECTION_ERROR_PREFIX}${CONNECTION_ERROR_MSG_INVALID_NAME_PREFIX}${String(name)}`; } export function channelAlreadyExistsErrorMessage(name: string): string { return `${CONNECTION_ERROR_PREFIX}${CONNECTION_ERROR_MSG_CHANNEL_ALREADY_EXISTS_PREFIX}${name}`; } export function channelNotFoundErrorMessage(name: string): string { return `${CONNECTION_ERROR_PREFIX}${CONNECTION_ERROR_MSG_CHANNEL_NOT_FOUND_PREFIX}${name}`; } export function listenerThrewMessage(event: string): string { return `${CONNECTION_LOG_MSG_LISTENER_THREW_PREFIX}${event}`; } export function loggerScope(name: string, topic?: string): string { return topic === undefined ? `${CONNECTION_MODULE}${CONNECTION_LOGGER_SCOPE_SEPARATOR}${name}` : `${CONNECTION_MODULE}${CONNECTION_LOGGER_SCOPE_SEPARATOR}${name}${CONNECTION_LOGGER_SCOPE_SEPARATOR}${topic}`; } export function timerKey(connection: string, kind: string, id?: string): string { return id === undefined ? `${CONNECTION_MODULE}${CONNECTION_LOGGER_SCOPE_SEPARATOR}${connection}${CONNECTION_LOGGER_SCOPE_SEPARATOR}${kind}` : `${CONNECTION_MODULE}${CONNECTION_LOGGER_SCOPE_SEPARATOR}${connection}${CONNECTION_LOGGER_SCOPE_SEPARATOR}${kind}${CONNECTION_LOGGER_SCOPE_SEPARATOR}${id}`; } export function createConnectionIdFactory(connectionName: string): () => string { let next = 0; return () => { next += 1; return [CONNECTION_ID_PREFIX, connectionName, String(next)].join(CONNECTION_ID_SEPARATOR); }; }