Skip to content

Instantly share code, notes, and snippets.

@CMarker
CMarker / table_sort.js
Created December 22, 2017 06:33
Bookmarklet to allow sorting a table by column header
javascript:(function()%7Bfunction getElIndex(e)%7Bfor(var t%3D0%3Be%3De.previousElementSibling%3Bt%2B%2B)%3Breturn t%7Dfunction getNearestTableAncestor(e)%7Bfor(%3Be%3B)if("table"%3D%3D%3D(e%3De.parentNode).tagName.toLowerCase())return e%7Dfunction tableIsEven(e)%7Bif(!e.tHead)return!1%3Breturn e.tHead.getElementsByTagName("th").length%3D%3De.tBodies%5B0%5D.getElementsByTagName("tr")%5B0%5D.getElementsByTagName("td").length%7Dfunction sort_table(e,t,n)%7Bvar r,a,o,l,i%3De.rows,s%3Di.length,c%3D%5B%5D%3B%0A// fill the array with values from the table%0Afor(r%3D0%3Bs>r%3Br%2B%2B)for(l%3D(o%3Di%5Br%5D.cells).length,c%5Br%5D%3D%5B%5D,a%3D0%3Bl>a%3Ba%2B%2B)c%5Br%5D%5Ba%5D%3Do%5Ba%5D.innerHTML%3Bfor(%0A// sort the array by the specified column number (col) and order (asc)%0Ac.sort(function(e,r)%7Bvar a%3De%5Bt%5D.replace(/<%5B%5E>%5D*>/g,"").trim(),o%3Dr%5Bt%5D.replace(/<%5B%5E>%5D*>/g,"").trim()%3Breturn isNaN(parseInt(a))%7C%7CisNaN(parseInt(o))%3Fa%3D%3Do%3F0:a>o%3Fn:-1*n:parseInt(a)%3D%3DparseInt(o)%3F0:parseIn
var request = require('request');
request = request.defaults({
pool: {maxSockets: 100},
timeout: 30000
});
var RateLimiter = require('limiter').RateLimiter;
var limiter = new RateLimiter(1, 100);
var throttledRequest = function(options, cb) {
limiter.removeTokens(1, function() {