Skip to content

Instantly share code, notes, and snippets.

function range (from, to) {
if (!to) {
to = from;
from = 0;
}
if (from > to) {
throw RangeError('`from` is higher than `to`');
}
return Array.from({ length: to - from }, (_, i) => i + from);
@intrnl
intrnl / store.js
Created July 22, 2020 01:39
Basic readable and derived stores
export function readable (init, start) {
function subscribe (listener) {
let running = true;
let prev = init;
let stop;
function set (curr) {
if (running && curr !== prev) {
prev = curr;
if (stop) listener(curr);
@intrnl
intrnl / svelte-store.js
Last active July 22, 2020 07:42
Svelte's Store implementation
function noop () {}
export function writable (init, start) {
let subscribers = [];
let prev = init;
let running = false;
let stop;
function notify () {
let subs = subscribers.concat();
function count (str: string, search: string) {
let n = -1;
let i = 0;
while (i !== -1) {
i = str.indexOf(search, i + 1);
n++;
}
return n;
let epoch = 1420070400000;
let increment = 0;
function timestamp_to_snowflake (timestamp = Date.now()) {
let snowflake = '';
// timestamp
snowflake += (timestamp - epoch).toString(2).padStart(42, '0');
// worker id
snowflake += '00001';
@intrnl
intrnl / minified-default.js
Created August 26, 2020 10:08
CSS modules namespace import
// 249 bytes
var o={helloWorld:"hello-world-123",fooBar:"foo-bar-245",barBaz:"bar-baz-934"};let l=Object.assign(document.createElement("div"),{textContent:"Hello world!",className:[o.helloWorld,o.helloWorld,o.fooBar,o.barBaz].join(" ")});document.body.append(l);
function __async (generator) {
return function (...args) {
let it = generator.apply(this, args);
return new Promise((resolve, reject) => {
step(it.next());
function step (result) {
if (result.done) resolve(result.value);
else Promise.resolve(result.value).then(fulfilled, rejected);
function __append (el, children) {
for (let child of children) {
if (!child) continue;
if (Array.isArray(child)) __append(el, child);
else if (child instanceof HTMLElement || child instanceof DocumentFragment) el.append(child);
else el.append(document.createTextNode(child));
}
}
import { render } from 'preact';
import { useRef, useState } from 'preact/hooks';
function useReactive (initialState) {
let [, forceUpdate] = useState({});
let reactive = useRef(null);
if (!reactive.current) {
reactive.current = new Proxy(initialState, {
@intrnl
intrnl / google-forms-get-url-with-filled-answer.js
Last active November 18, 2020 02:13
Creates Google Forms URL containing answers that have been filled
// A teacher told us to submit the same form multiple times as sort of memory strengthening.
// I don't like that though, so here's a script that creates a Forms URL that contains the answers I've already filled.
location.origin + location.pathname + '?' +
Array.from(document.querySelectorAll('input[name^="entry."]'))
.filter((el) => el.value)
.map((el) => `${el.name}=${encodeURIComponent(el.value)}`)
.join('&');