Skip to content

Commit c222b90

Browse files
committed
extractTargetGroup() moved to the network instance
1 parent 0a3d31b commit c222b90

File tree

2 files changed

+32
-28
lines changed

2 files changed

+32
-28
lines changed

src/commands/handlers/messaging.js

Lines changed: 2 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ var handlers = {
2626
time: time
2727
});
2828
} else {
29-
var parsed_target = parseTargetGroup(this.network, target);
29+
var parsed_target = this.network.extractTargetGroup(target);
3030
if (parsed_target) {
3131
target = parsed_target.target;
3232
target_group = parsed_target.target_group;
@@ -59,7 +59,7 @@ var handlers = {
5959
var target = command.params[0];
6060
var target_group;
6161

62-
var parsed_target = parseTargetGroup(this.network, target);
62+
var parsed_target = this.network.extractTargetGroup(target);
6363
if (parsed_target) {
6464
target = parsed_target.target;
6565
target_group = parsed_target.target_group;
@@ -151,29 +151,3 @@ module.exports = function AddCommandHandlers(command_controller) {
151151
command_controller.addHandler(handler_command, handler);
152152
});
153153
};
154-
155-
// Support '@#channel' and '++channel' formats
156-
function parseTargetGroup(network, target) {
157-
var statusMsg = network.supports('STATUSMSG');
158-
159-
if (!statusMsg) {
160-
return null;
161-
}
162-
163-
var target_group = _.find(statusMsg, function(prefix) {
164-
if (prefix === target[0]) {
165-
target = target.substring(1);
166-
167-
return prefix;
168-
}
169-
});
170-
171-
if (!target_group) {
172-
return null;
173-
}
174-
175-
return {
176-
target: target,
177-
target_group: target_group,
178-
};
179-
}

src/networkinfo.js

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
'use strict';
22

3+
var _ = {
4+
find: require('lodash/find'),
5+
};
6+
37
module.exports = NetworkInfo;
48

59
function NetworkInfo() {
@@ -35,6 +39,32 @@ function NetworkInfo() {
3539
return chanPrefixes.indexOf(channel_name[0]) > -1;
3640
};
3741

42+
// Support '@#channel' and '++channel' formats
43+
this.extractTargetGroup = function extractTargetGroup(target) {
44+
var statusMsg = this.supports('STATUSMSG');
45+
46+
if (!statusMsg) {
47+
return null;
48+
}
49+
50+
var target_group = _.find(statusMsg, function(prefix) {
51+
if (prefix === target[0]) {
52+
target = target.substring(1);
53+
54+
return prefix;
55+
}
56+
});
57+
58+
if (!target_group) {
59+
return null;
60+
}
61+
62+
return {
63+
target: target,
64+
target_group: target_group,
65+
};
66+
}
67+
3868
// Network capabilities
3969
this.cap = {
4070
negotiating: false,

0 commit comments

Comments
 (0)