HEX
Server: Apache
System: Linux pdx1-shared-a1-38 6.6.104-grsec-jammy+ #3 SMP Tue Sep 16 00:28:11 UTC 2025 x86_64
User: mmickelson (3396398)
PHP: 8.1.31
Disabled: NONE
Upload Files
File: //usr/share/nodejs/turbolinks/src/turbolinks/helpers.js
// Generated by CoffeeScript 1.12.8
(function() {
  var closest, match, preventDefaultSupported,
    slice = [].slice;

  Turbolinks.copyObject = function(object) {
    var key, result, value;
    result = {};
    for (key in object) {
      value = object[key];
      result[key] = value;
    }
    return result;
  };

  Turbolinks.closest = function(element, selector) {
    return closest.call(element, selector);
  };

  closest = (function() {
    var html, ref;
    html = document.documentElement;
    return (ref = html.closest) != null ? ref : function(selector) {
      var node;
      node = this;
      while (node) {
        if (node.nodeType === Node.ELEMENT_NODE && match.call(node, selector)) {
          return node;
        }
        node = node.parentNode;
      }
    };
  })();

  Turbolinks.defer = function(callback) {
    return setTimeout(callback, 1);
  };

  Turbolinks.throttle = function(fn) {
    var request;
    request = null;
    return function() {
      var args;
      args = 1 <= arguments.length ? slice.call(arguments, 0) : [];
      return request != null ? request : request = requestAnimationFrame((function(_this) {
        return function() {
          request = null;
          return fn.apply(_this, args);
        };
      })(this));
    };
  };

  Turbolinks.dispatch = function(eventName, arg) {
    var cancelable, data, event, preventDefault, ref, target;
    ref = arg != null ? arg : {}, target = ref.target, cancelable = ref.cancelable, data = ref.data;
    event = document.createEvent("Events");
    event.initEvent(eventName, true, cancelable === true);
    event.data = data != null ? data : {};
    if (event.cancelable && !preventDefaultSupported) {
      preventDefault = event.preventDefault;
      event.preventDefault = function() {
        if (!this.defaultPrevented) {
          Object.defineProperty(this, "defaultPrevented", {
            get: function() {
              return true;
            }
          });
        }
        return preventDefault.call(this);
      };
    }
    (target != null ? target : document).dispatchEvent(event);
    return event;
  };

  preventDefaultSupported = (function() {
    var event;
    event = document.createEvent("Events");
    event.initEvent("test", true, true);
    event.preventDefault();
    return event.defaultPrevented;
  })();

  Turbolinks.match = function(element, selector) {
    return match.call(element, selector);
  };

  match = (function() {
    var html, ref, ref1, ref2;
    html = document.documentElement;
    return (ref = (ref1 = (ref2 = html.matchesSelector) != null ? ref2 : html.webkitMatchesSelector) != null ? ref1 : html.msMatchesSelector) != null ? ref : html.mozMatchesSelector;
  })();

  Turbolinks.uuid = function() {
    var i, j, result;
    result = "";
    for (i = j = 1; j <= 36; i = ++j) {
      if (i === 9 || i === 14 || i === 19 || i === 24) {
        result += "-";
      } else if (i === 15) {
        result += "4";
      } else if (i === 20) {
        result += (Math.floor(Math.random() * 4) + 8).toString(16);
      } else {
        result += Math.floor(Math.random() * 15).toString(16);
      }
    }
    return result;
  };

}).call(this);