Skip to content

Instantly share code, notes, and snippets.

View sdekna's full-sized avatar

Saif-Alislam Dekna sdekna

View GitHub Profile
@sdekna
sdekna / gist:beb66027a2b75af3b97942a7f2b99363
Created August 19, 2023 08:26
Alternate Svelte Store
// REPL: https://svelte.dev/repl/2c56758fb2ca4de9bf842e3dfb61ed36
function customStore<T>(initialValue: T, mutationFunction: (value: T)=>T, validationFunction: (value: T)=>boolean) {
let currentValue = initialValue
let previousValue: T | null = null;
const subscribers = new Set<(value: T, previousValue: T | null) => void>();
const set = (value: T): void => {