aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--assets/js/main.js47
1 files changed, 18 insertions, 29 deletions
diff --git a/assets/js/main.js b/assets/js/main.js
index 79cc4e2..ad28b95 100644
--- a/assets/js/main.js
+++ b/assets/js/main.js
@@ -6,9 +6,8 @@ function parse_placeholder(val) {
function parse_positive_integer(src) {
var val = parseInt(src);
- if (isNaN(val) || val < 1) {
+ if (isNaN(val) || val < 1)
throw new Error('Cannot parse as a positive integer.');
- }
return val;
}
@@ -18,23 +17,19 @@ function parse_keepalive(src) {
function parse_endpoint(val) {
val = val.trim();
- if (val.length == 0) {
+ if (val.length == 0)
throw new Error('Server endpoint cannot be an empty string.');
- }
- if (!val.match(/^.+:[0-9]+$/)) {
+ if (!val.match(/^.+:[0-9]+$/))
throw new Error('Please specify a host and a port in the HOST:PORT format.');
- }
return val;
}
function parse_key(val) {
val = val.trim();
- if (val.length == 0) {
+ if (val.length == 0)
throw new Error('Key as used by WireGuard cannot be an empty string.');
- }
- if (!val.match(/^[0-9a-zA-Z+/=]+$/)) {
+ if (!val.match(/^[0-9a-zA-Z+/=]+$/))
throw new Error('Key as used by WireGuard must be Base64-encoded.');
- }
return val;
}
@@ -55,13 +50,11 @@ var IPAddr = function(src, parser) {
this.networkID = parser.networkAddressFromCIDR(this.src);
if (this.addr.kind() == 'ipv4') {
- if (this.str == this.networkID) {
+ if (this.str == this.networkID)
throw new Error('Please use a real host IP address, not a network identifier.');
- }
var broadcast = parser.broadcastAddressFromCIDR(this.src);
- if (this.str == broadcast) {
+ if (this.str == broadcast)
throw new Error('Please use a real host IP address, not a broadcast address.');
- }
}
}
@@ -77,21 +70,19 @@ IPAddr.prototype.allowed_ips_client = function() {
}
IPAddr.prototype.allowed_ips_server = function() {
- if (this.addr.kind() == 'ipv4') {
+ if (this.addr.kind() == 'ipv4')
var netmask = 32;
- } else if (this.addr.kind() == 'ipv6') {
+ else if (this.addr.kind() == 'ipv6')
var netmask = 128;
- } else {
+ else
throw new Error('What? Not IPv4, and _not_ IPv6?!');
- }
return this.str + '/' + netmask;
}
function parse_ip(src, parser) {
src = src.trim();
- if (src.length == 0) {
+ if (src.length == 0)
throw new Error('IP address cannot be an empty string.');
- }
return new IPAddr(src, parser);
}
@@ -163,9 +154,8 @@ var Value = function(name, parser) {
Value.prototype.parse = function() {
try {
var value = this.input.value();
- if (!this.optional || value.length > 0) {
+ if (!this.optional || value.length > 0)
value = this.parser(value);
- }
this.set_value(value);
return true;
} catch (err) {
@@ -293,11 +283,12 @@ Data.prototype.get_perma_url = function() {
Data.prototype.parse = function() {
var success = true;
+
this.values.forEach(function(value) {
- if (!value.parse()) {
+ if (!value.parse())
success = false;
- }
});
+
if (success) {
if (!$('#advanced_params').prop('checked'))
this.hide_advanced();
@@ -741,18 +732,16 @@ function form_on_submit() {
function advanced_params_on_click(input) {
var data = new Data();
- if (input.checked) {
+ if (input.checked)
data.show_advanced();
- } else {
+ else
data.hide_advanced();
- }
}
function main() {
var data = new Data();
- if (data.set_from_this_url()) {
+ if (data.set_from_this_url())
guides_from_data(data);
- }
}
$(function() {