UNPKG

1.01 kBPlain TextView Raw
1/**
2 * Supported STOMP versions
3 *
4 * Part of `@stomp/stompjs`.
5 */
6export class Versions {
7 /**
8 * Indicates protocol version 1.0
9 */
10 public static V1_0 = '1.0';
11 /**
12 * Indicates protocol version 1.1
13 */
14 public static V1_1 = '1.1';
15 /**
16 * Indicates protocol version 1.2
17 */
18 public static V1_2 = '1.2';
19
20 /**
21 * @internal
22 */
23 public static default = new Versions([
24 Versions.V1_0,
25 Versions.V1_1,
26 Versions.V1_2,
27 ]);
28
29 /**
30 * Takes an array of string of versions, typical elements '1.0', '1.1', or '1.2'
31 *
32 * You will an instance if this class if you want to override supported versions to be declared during
33 * STOMP handshake.
34 */
35 constructor(public versions: string[]) {}
36
37 /**
38 * Used as part of CONNECT STOMP Frame
39 */
40 public supportedVersions() {
41 return this.versions.join(',');
42 }
43
44 /**
45 * Used while creating a WebSocket
46 */
47 public protocolVersions() {
48 return this.versions.map(x => `v${x.replace('.', '')}.stomp`);
49 }
50}