Something went wrong. Try again.
[READ-ONLY] Mirror of https://github.com/emilyhunt/advent-of-code. My attempts at the Advent of Code coding challenges! aoc.emilydoesastro.com
advent-of-code-2021 advent-of-code-2022 advent-of-code-2022-javascript advent-of-code-2023 advent-of-code-2023-javascript
Something went wrong. Try again.
1.8 kB · 52 lines
JavaScript
at main
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253import { writable, derived, readable } from 'svelte/store';import { generateMetadata } from './pages';import { cyrb53 } from '$lib/hash'
// Metadata set by a page and passed up to its layoutexport let pageName = writable("none");
// Current default dataexport let currentDefaultData = writable("");export let currentExampleData = writable("");
// Current value in the user custom input box and a safe value we can modifyexport let currentUserInput = writable("");// export let previousUserInput = writable("");export let currentUserData = writable("");
export let hashedUserInput = derived(currentUserInput, $currentUserInput => cyrb53($currentUserInput));export let hashedPreviousUserInput = writable("");
// Boolean set in GetUserData.svelte specifying whether or not we should run on user dataexport let runOnUserData = writable(false);
// This store is set to the same as userDataChanges whenever currentUserData is preprocessed. This normally happens in// RunnerPart.svelte.//export let userDataPreprocessed = writable(true);
// Derived store that detects if currentUserInput has changedexport let userDataHasChanged = derived( [hashedUserInput, hashedPreviousUserInput], ([$hashedUserInput, $hashedPreviousUserInput]) => { if ($hashedUserInput !== $hashedPreviousUserInput) { return true; } else { return false; }});
// Page metadataexport let metadata = writable(Object());let metadataGenerated = false; export async function initMetadata() { if (!metadataGenerated) { console.log("Initialising metadata...") let metadataToWrite = await generateMetadata(); metadata.set(metadataToWrite); metadataGenerated = true; // console.log("- fetch completed"); // console.log(metadataToWrite); }};