Skip to content

Instantly share code, notes, and snippets.

View neodigm's full-sized avatar
💯
Product Designer ⚡ Interactive Storyteller

Scott C. Krause neodigm

💯
Product Designer ⚡ Interactive Storyteller
View GitHub Profile
var RealXMLHttpRequest = window.XMLHttpRequest;
window.XMLHttpRequest = function(){
var asynchrony = new RealXMLHttpRequest();
var realOpen = asynchrony.open;
// steal the OPEN method | Has to be open to send header
asynchrony.open = function(method, url){
realOpen.apply(asynchrony, arguments);
@neodigm
neodigm / fetch_overload.js
Created May 17, 2021 18:51
window fetch overload
const {fetch: origFetch} = window;
window.fetch = async (...args) => {
console.log("fetch called with args:", args);
const response = await origFetch(...args);
/* work with the cloned response in a separate promise
chain -- could use the same chain with `await`. */
response
.clone()
@neodigm
neodigm / mock-axios.js
Created May 23, 2021 16:22 — forked from cowboy/mock-axios.js
axios mocking via interceptors
import axios from 'axios'
let mockingEnabled = false
const mocks = {}
export function addMock(url, data) {
mocks[url] = data
}
// This snippet will log a url for each obs, so that you can eaisly find an OBS with event data
console.clear()
var aObs = document.querySelector( 'DIV#app' ).__vue__.$store.state.obsSys.obsList
var aHref = document.location.href.split("/")
aHref = aHref.slice(0,3).join("/")
var aTD = [ ... document.querySelectorAll("#app > div main tbody tr td:nth-child(1)")]
<!DOCTYPE html>
<!-- Display a 10 second countdown then client redirect to home page -->
<html>
<head>
<title>Expired Redirect</title>
</head>
<body>
<style>
.exp--p {
font-family: sans-serif;
@neodigm
neodigm / URL_in_BrainF_ck.bf
Created June 29, 2021 18:03
URL in the BrainF_ck language
++++++++[>+>++>+++>++++>+++++>++++++>+++++++>++++++++>+++++++++>++++++++++>+++++++++++>++++++++++++>+++++++++++++>++++++++++++++>+++++++++++++++>++++++++++++++++<<<<<<<<<<<<<<<<-]>>>>>>>>>>>>>>>-.+<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>-.+<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>-.+<<<<<<<<<<<<<<<>>>>>>--.++<<<<<<>>>>>>>>>>>>>>>----.++++<<<<<<<<<<<<<<<>>>>>>>>>>>>>.<<<<<<<<<<<<<>>>>>>>>>>>>>---.+++<<<<<<<<<<<<<>>>>>>>>>>+++.---<<<<<<<<<<>>>>>>>>>>>>+++.---<<<<<<<<<<<<>>>>>>>>>>>>>>-.+<<<<<<<<<<<<<<>>>>>>>>>>>>>>>----.++++<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>----.++++<<<<<<<<<<<<<<<>>>>>>>>>+++.---<<<<<<<<<>>>>>>>>>>>>>>++.--<<<<<<<<<<<<<<>>>>>>>>>>>>+.-<<<<<<<<<<<<>>>>>>>>>>>>>>>---.+++<<<<<<<<<<<<<<<>>>>>>>>>>>>>>+++.---<<<<<<<<<<<<<<>>>>>>>>>>>>>---.+++<<<<<<<<<<<<<>>>>>>--.++<<<<<<>>>>>>>>>>>>+++.---<<<<<<<<<<<<>>>>>>>>>>>>>>-.+<<<<<<<<<<<<<<>>>>>>>>>>>>>>---.+++<<<<<<<<<<<<<<.
// Dive into DOM to access Vuex array from mixin
export function getFeatureDOM(feature) {
// Return Feature Flag if it exists for current user
const features = document.querySelector('DIV#app').__vue__.$store.state.auth
.currentUser.activeFeatures
return features ? features.filter((fe) => fe === feature)[0] : null
}
@neodigm
neodigm / gulpfile.js
Created July 12, 2021 12:43
Automated image compression with Gulp and JavaScript
// ltd_auto_image
// SCK 20160503 | Gulp script QA Product AND Static images (55k)
// Notes: NODE 5.10.0 | GULP 3.9.x
//. 🌑🌒🌓🌔🌕🌖🌗🌘🌑
var del = require('del'),
vinylPaths = require('vinyl-paths'),
gulp = require("gulp"),
debug = require("gulp-debug"),
imagemin = require("gulp-imagemin"),
@neodigm
neodigm / JavaScript_save_as_pdf.js
Created July 22, 2021 17:02
Save HTML contents as a PDF file.
var doc = new jsPDF();
function saveDiv(id, title) {
doc.fromHTML(`<html><head><title>${title}</title></head><body>` + document.getElementById(id).innerHTML + `</body></html>`);
doc.save(title + '.pdf');
}
@neodigm
neodigm / isKB.js
Last active December 28, 2021 02:30
A11y | Is keyboard navigation
// Change display attributes if the page is being navigated via kb
// I think this was an IEFE back in the day
// Useage:
/*
body:not([data-is-kb]) .h-vs__hidden,
body[data-is-kb="false"] .h-vs__hidden{ visibility: hidden; }
*/
"isKeyb": function( _bMode ){ // User navigation mode state
if( typeof _bMode !== "undefined" ){