| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- (function() {
- var Options;
-
- exports.Options = Options = (function() {
- function Options() {
- this.https = false;
- this.host = null;
- this.port = 35729;
- this.snipver = null;
- this.ext = null;
- this.extver = null;
- this.mindelay = 1000;
- this.maxdelay = 60000;
- this.handshake_timeout = 5000;
- }
-
- Options.prototype.set = function(name, value) {
- if (typeof value === 'undefined') {
- return;
- }
- if (!isNaN(+value)) {
- value = +value;
- }
- return this[name] = value;
- };
-
- return Options;
-
- })();
-
- Options.extract = function(document) {
- var element, keyAndValue, m, mm, options, pair, src, _i, _j, _len, _len1, _ref, _ref1;
- _ref = document.getElementsByTagName('script');
- for (_i = 0, _len = _ref.length; _i < _len; _i++) {
- element = _ref[_i];
- if ((src = element.src) && (m = src.match(/^[^:]+:\/\/(.*)\/z?livereload\.js(?:\?(.*))?$/))) {
- options = new Options();
- options.https = src.indexOf("https") === 0;
- if (mm = m[1].match(/^([^\/:]+)(?::(\d+))?$/)) {
- options.host = mm[1];
- if (mm[2]) {
- options.port = parseInt(mm[2], 10);
- }
- }
- if (m[2]) {
- _ref1 = m[2].split('&');
- for (_j = 0, _len1 = _ref1.length; _j < _len1; _j++) {
- pair = _ref1[_j];
- if ((keyAndValue = pair.split('=')).length > 1) {
- options.set(keyAndValue[0].replace(/-/g, '_'), keyAndValue.slice(1).join('='));
- }
- }
- }
- return options;
- }
- }
- return null;
- };
-
- }).call(this);
|