{"version":3,"file":"paths.c280355a.js","sources":["../../../../../../node_modules/svelte/store/index.mjs"],"sourcesContent":["import { noop, safe_not_equal, subscribe, run_all, is_function } from '../internal/index.mjs';\nexport { get_store_value as get } from '../internal/index.mjs';\n\nconst subscriber_queue = [];\n/**\n * Creates a `Readable` store that allows reading by subscription.\n * @param value initial value\n * @param {StartStopNotifier}start start and stop notifications for subscriptions\n */\nfunction readable(value, start) {\n return {\n subscribe: writable(value, start).subscribe\n };\n}\n/**\n * Create a `Writable` store that allows both updating and reading by subscription.\n * @param {*=}value initial value\n * @param {StartStopNotifier=}start start and stop notifications for subscriptions\n */\nfunction writable(value, start = noop) {\n let stop;\n const subscribers = new Set();\n function set(new_value) {\n if (safe_not_equal(value, new_value)) {\n value = new_value;\n if (stop) { // store is ready\n const run_queue = !subscriber_queue.length;\n for (const subscriber of subscribers) {\n subscriber[1]();\n subscriber_queue.push(subscriber, value);\n }\n if (run_queue) {\n for (let i = 0; i < subscriber_queue.length; i += 2) {\n subscriber_queue[i][0](subscriber_queue[i + 1]);\n }\n subscriber_queue.length = 0;\n }\n }\n }\n }\n function update(fn) {\n set(fn(value));\n }\n function subscribe(run, invalidate = noop) {\n const subscriber = [run, invalidate];\n subscribers.add(subscriber);\n if (subscribers.size === 1) {\n stop = start(set) || noop;\n }\n run(value);\n return () => {\n subscribers.delete(subscriber);\n if (subscribers.size === 0) {\n stop();\n stop = null;\n }\n };\n }\n return { set, update, subscribe };\n}\nfunction derived(stores, fn, initial_value) {\n const single = !Array.isArray(stores);\n const stores_array = single\n ? [stores]\n : stores;\n const auto = fn.length < 2;\n return readable(initial_value, (set) => {\n let inited = false;\n const values = [];\n let pending = 0;\n let cleanup = noop;\n const sync = () => {\n if (pending) {\n return;\n }\n cleanup();\n const result = fn(single ? values[0] : values, set);\n if (auto) {\n set(result);\n }\n else {\n cleanup = is_function(result) ? result : noop;\n }\n };\n const unsubscribers = stores_array.map((store, i) => subscribe(store, (value) => {\n values[i] = value;\n pending &= ~(1 << i);\n if (inited) {\n sync();\n }\n }, () => {\n pending |= (1 << i);\n }));\n inited = true;\n sync();\n return function stop() {\n run_all(unsubscribers);\n cleanup();\n };\n });\n}\n\nexport { derived, readable, writable };\n"],"names":["subscriber_queue","writable","value","start","noop","stop","subscribers","set","new_value","safe_not_equal","run_queue","subscriber","i","update","fn","subscribe","run","invalidate"],"mappings":"+CAGA,MAAMA,EAAmB,CAAA,EAgBzB,SAASC,EAASC,EAAOC,EAAQC,EAAM,CACnC,IAAIC,EACJ,MAAMC,EAAc,IAAI,IACxB,SAASC,EAAIC,EAAW,CACpB,GAAIC,EAAeP,EAAOM,CAAS,IAC/BN,EAAQM,EACJH,GAAM,CACN,MAAMK,EAAY,CAACV,EAAiB,OACpC,UAAWW,KAAcL,EACrBK,EAAW,CAAC,IACZX,EAAiB,KAAKW,EAAYT,CAAK,EAE3C,GAAIQ,EAAW,CACX,QAASE,EAAI,EAAGA,EAAIZ,EAAiB,OAAQY,GAAK,EAC9CZ,EAAiBY,CAAC,EAAE,CAAC,EAAEZ,EAAiBY,EAAI,CAAC,CAAC,EAElDZ,EAAiB,OAAS,GAIzC,CACD,SAASa,EAAOC,EAAI,CAChBP,EAAIO,EAAGZ,CAAK,CAAC,CAChB,CACD,SAASa,EAAUC,EAAKC,EAAab,EAAM,CACvC,MAAMO,EAAa,CAACK,EAAKC,CAAU,EACnC,OAAAX,EAAY,IAAIK,CAAU,EACtBL,EAAY,OAAS,IACrBD,EAAOF,EAAMI,CAAG,GAAKH,GAEzBY,EAAId,CAAK,EACF,IAAM,CACTI,EAAY,OAAOK,CAAU,EACzBL,EAAY,OAAS,IACrBD,IACAA,EAAO,KAEvB,CACK,CACD,MAAO,CAAE,IAAAE,EAAK,OAAAM,EAAQ,UAAAE,EAC1B","x_google_ignoreList":[0]}