Note
test
| { | |
| "compilerOptions": { | |
| "allowJs": true, | |
| "checkJs": true, | |
| "noEmit": true, | |
| "strict": true, | |
| "target": "es2022", | |
| "module": "node16", | |
| "moduleResolution": "node16", // or bundler depending | |
| "allowSyntheticDefaultImports": true |
Note
test
| <!DOCTYPE html> | |
| <html lang="en"> | |
| <head> | |
| <meta charset="UTF-8"> | |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> | |
| <title>Document</title> | |
| </head> | |
| <body> | |
| <script> | |
| document.write(`<pre>${JSON.stringify({ width: window.innerWidth, height: window.innerHeight }, null, 2)}</pre>`) |
| <script lang="ts"> | |
| import { faGripLines } from '@fortawesome/free-solid-svg-icons'; | |
| import Fa from 'svelte-fa'; | |
| type List = $$Generic<Array<any>>; | |
| export let list: List; | |
| let hovering: number | null = null; |
| export const actions = { | |
| first: async ({ request }) => { | |
| const data = Object.fromEntries(await request.formData()); | |
| console.log('first', data); | |
| return { | |
| data, | |
| step: 2 | |
| }; | |
| }, | |
| second: async ({ request }) => { |
| {const ender_chars='⏃⏚☊⎅⟒⎎☌⊑⟟⟊☍⌰⋔⋏⍜⌿☌⍀⌇⏁⎍⎐⍙⌖⊬⋉'.split('');const eng_to_ender=Object.fromEntries('abcdefghijklmnopqrstuvwxyz'.split('').map((c,i)=>[c,ender_chars[i]]));const ender_to_eng=Object.fromEntries(Object.entries(eng_to_ender).map((x)=>x.reverse()));const to_ender=(c)=>eng_to_ender[c]??c;const to_eng=(c)=>ender_to_eng[c]??c;const translate=(str,fn)=>str.split('').map(fn).join('');function run(){const elements=document.querySelectorAll('[id^=message-content]:not([data-ender-parsed=true])',);for(const element of elements){element.innerHTML=element.innerHTML.replace(new RegExp(`[${ender_chars.join('')} ,.!?\\-;']+`,'gi'),(match)=>{return ender_chars.some((c)=>match.includes(c))?`<span title="${translate(match,to_eng)}">${ match }</span>`:match},);element.dataset.enderParsed='true'}}setInterval(run,1000);const template=`<form id="ender-translation-form"><input id="ender-translaion" name="text" required /><button type="submit">Translate</button></form>`;const element=document.createElement('div');element.in |
Here is the golden question, imagine we have a file based routing solution and we want state. Say to pass down the database connection, or some auth guards to avoid the ../../... hell. Whatever it is it needs to be easy to use and type safe
Say we have this:
import Router from 'packge';
const router = new Router('src/routes');ctrl + shift + iScript:
(()=>{const imageConfig={from:'https://cdn.discordapp.com/avatars/105280068598644736/a8d125774c2d58101b269acc27117362',to:'https://cdn.discordapp.com/attachments/757960538864091256/871398065871933490/Nimachan.png'};const change=()=>{console.log('Nimachan 3000 Running...');const images=()=>[...document.body.getElementsByTagName('img')].filter((i)=>i.src.startsWith(imageConfig.from)).map((image)=>(image.src=imageConfig.to));const text=()=>[...document.body.getElementsByTagName('span')].filter((span)=>span.innerHTML=='Nimajneb').map((span)=>(span.innerHTML='Nimachan'));text();images();console.log('Nimachan done')};setInterval(change,1000)})();