From d9a97521a173a760c7150d0a6e59f7ddd4adde3b Mon Sep 17 00:00:00 2001 From: ModZero Date: Wed, 27 Jul 2022 04:19:02 +0200 Subject: [PATCH] Just some linting --- src-tauri/tauri.conf.json | 2 +- src/lib/form.ts | 142 ++++++++------- src/routes/index.svelte | 2 +- src/routes/todos/_api.ts | 22 ++- src/routes/todos/index.svelte | 331 ++++++++++++++++++---------------- src/routes/todos/index.ts | 82 ++++----- svelte.config.js | 24 +-- tsconfig.json | 22 +-- 8 files changed, 329 insertions(+), 298 deletions(-) diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json index f888fa1..3ce1a5e 100644 --- a/src-tauri/tauri.conf.json +++ b/src-tauri/tauri.conf.json @@ -4,7 +4,7 @@ "beforeBuildCommand": "npm run build", "beforeDevCommand": "npm run dev", "devPath": "http://localhost:5173", - "distDir": "../.svelte-kit/output/dist" + "distDir": "../.svelte-kit/output/client" }, "package": { "productName": "ziemniak", diff --git a/src/lib/form.ts b/src/lib/form.ts index 9754907..9c7ab08 100644 --- a/src/lib/form.ts +++ b/src/lib/form.ts @@ -1,84 +1,90 @@ -import { invalidate } from '$app/navigation'; +import { invalidate } from "$app/navigation"; // this action (https://svelte.dev/tutorial/actions) allows us to // progressively enhance a
that already works without JS export function enhance( - form: HTMLFormElement, - { - pending, - error, - result - }: { - pending?: ({ data, form }: { data: FormData; form: HTMLFormElement }) => void; - error?: ({ - data, - form, - response, - error - }: { - data: FormData; - form: HTMLFormElement; - response: Response | null; - error: Error | null; - }) => void; - result?: ({ - data, - form, - response - }: { - data: FormData; - response: Response; - form: HTMLFormElement; - }) => void; - } = {} + form: HTMLFormElement, + { + pending, + error, + result, + }: { + pending?: ({ + data, + form, + }: { + data: FormData; + form: HTMLFormElement; + }) => void; + error?: ({ + data, + form, + response, + error, + }: { + data: FormData; + form: HTMLFormElement; + response: Response | null; + error: Error | null; + }) => void; + result?: ({ + data, + form, + response, + }: { + data: FormData; + response: Response; + form: HTMLFormElement; + }) => void; + } = {} ) { - let current_token: unknown; + let current_token: unknown; - async function handle_submit(e: SubmitEvent) { - const token = (current_token = {}); + async function handle_submit(e: SubmitEvent) { + const token = (current_token = {}); - e.preventDefault(); + e.preventDefault(); - const data = new FormData(form); + const data = new FormData(form); - if (pending) pending({ data, form }); + if (pending) pending({ data, form }); - try { - const response = await fetch(form.action, { - method: form.method, - headers: { - accept: 'application/json' - }, - body: data - }); + try { + const response = await fetch(form.action, { + method: form.method, + headers: { + accept: "application/json", + }, + body: data, + }); - if (token !== current_token) return; + if (token !== current_token) return; - if (response.ok) { - if (result) result({ data, form, response }); + if (response.ok) { + if (result) result({ data, form, response }); - const url = new URL(form.action); - url.search = url.hash = ''; - invalidate(url.href); - } else if (error) { - error({ data, form, error: null, response }); - } else { - console.error(await response.text()); - } - } catch (e: unknown) { - if (error && e instanceof Error) { - error({ data, form, error: e, response: null }); - } else { - throw e; - } - } - } + const url = new URL(form.action); + url.search = url.hash = ""; + invalidate(url.href); + } else if (error) { + error({ data, form, error: null, response }); + } else { + console.error(await response.text()); + } + } catch (e: unknown) { + if (error && e instanceof Error) { + error({ data, form, error: e, response: null }); + } else { + throw e; + } + } + } - form.addEventListener('submit', handle_submit); + form.addEventListener("submit", handle_submit); - return { - destroy() { - form.removeEventListener('submit', handle_submit); - } - }; + return { + destroy() { + form.removeEventListener("submit", handle_submit); + }, + }; } diff --git a/src/routes/index.svelte b/src/routes/index.svelte index 3488e7d..baae912 100644 --- a/src/routes/index.svelte +++ b/src/routes/index.svelte @@ -9,7 +9,7 @@ import type { UnlistenFn } from "@tauri-apps/api/event"; import { invoke } from "@tauri-apps/api"; import { listen } from "@tauri-apps/api/event"; - + let timerTickUnlisten: Promise | null = null; let timerDoneUnlisten: Promise | null = null; diff --git a/src/routes/todos/_api.ts b/src/routes/todos/_api.ts index 9419ef8..1ff9fa0 100644 --- a/src/routes/todos/_api.ts +++ b/src/routes/todos/_api.ts @@ -11,12 +11,16 @@ const base = "https://api.svelte.dev"; -export function api(method: string, resource: string, data?: Record) { - return fetch(`${base}/${resource}`, { - method, - headers: { - 'content-type': 'application/json' - }, - body: data && JSON.stringify(data) - }); -} \ No newline at end of file +export function api( + method: string, + resource: string, + data?: Record +) { + return fetch(`${base}/${resource}`, { + method, + headers: { + "content-type": "application/json", + }, + body: data && JSON.stringify(data), + }); +} diff --git a/src/routes/todos/index.svelte b/src/routes/todos/index.svelte index 902beeb..b1edf98 100644 --- a/src/routes/todos/index.svelte +++ b/src/routes/todos/index.svelte @@ -1,187 +1,208 @@ - Todos - + Todos +
-

Todos

+

Todos

- { - form.reset(); - } - }} - > - - +
{ + form.reset(); + }, + }} + > + +
- {#each todos as todo (todo.uid)} -
-
{ - todo.done = !!data.get('done'); - } - }} - > - - -
- {/each} +
(todo.pending_delete = true), + }} + > + +
+ {/each} diff --git a/src/routes/todos/index.ts b/src/routes/todos/index.ts index 526ead2..2600dcd 100644 --- a/src/routes/todos/index.ts +++ b/src/routes/todos/index.ts @@ -1,67 +1,67 @@ -import { api } from './_api'; -import type { RequestHandler } from './__types'; +import { api } from "./_api"; +import type { RequestHandler } from "./__types"; export const GET: RequestHandler = async ({ locals }) => { - // locals.userid comes from src/hooks.js - const response = await api('GET', `todos/${locals.userid}`); + // locals.userid comes from src/hooks.js + const response = await api("GET", `todos/${locals.userid}`); - if (response.status === 404) { - // user hasn't created a todo list. - // start with an empty array - return { - body: { - todos: [] - } - }; - } + if (response.status === 404) { + // user hasn't created a todo list. + // start with an empty array + return { + body: { + todos: [], + }, + }; + } - if (response.status === 200) { - return { - body: { - todos: await response.json() - } - }; - } + if (response.status === 200) { + return { + body: { + todos: await response.json(), + }, + }; + } - return { - status: response.status - }; + return { + status: response.status, + }; }; export const POST: RequestHandler = async ({ request, locals }) => { - const form = await request.formData(); + const form = await request.formData(); - await api('POST', `todos/${locals.userid}`, { - text: form.get('text') - }); + await api("POST", `todos/${locals.userid}`, { + text: form.get("text"), + }); - return {}; + return {}; }; // If the user has JavaScript disabled, the URL will change to // include the method override unless we redirect back to /todos const redirect = { - status: 303, - headers: { - location: '/todos' - } + status: 303, + headers: { + location: "/todos", + }, }; export const PATCH: RequestHandler = async ({ request, locals }) => { - const form = await request.formData(); + const form = await request.formData(); - await api('PATCH', `todos/${locals.userid}/${form.get('uid')}`, { - text: form.has('text') ? form.get('text') : undefined, - done: form.has('done') ? !!form.get('done') : undefined - }); + await api("PATCH", `todos/${locals.userid}/${form.get("uid")}`, { + text: form.has("text") ? form.get("text") : undefined, + done: form.has("done") ? !!form.get("done") : undefined, + }); - return redirect; + return redirect; }; export const DELETE: RequestHandler = async ({ request, locals }) => { - const form = await request.formData(); + const form = await request.formData(); - await api('DELETE', `todos/${locals.userid}/${form.get('uid')}`); + await api("DELETE", `todos/${locals.userid}/${form.get("uid")}`); - return redirect; + return redirect; }; diff --git a/svelte.config.js b/svelte.config.js index 1fa366b..2cd0f90 100644 --- a/svelte.config.js +++ b/svelte.config.js @@ -1,20 +1,20 @@ -import adapter from '@sveltejs/adapter-auto'; -import preprocess from 'svelte-preprocess'; +import adapter from "@sveltejs/adapter-auto"; +import preprocess from "svelte-preprocess"; /** @type {import('@sveltejs/kit').Config} */ const config = { - // Consult https://github.com/sveltejs/svelte-preprocess - // for more information about preprocessors - preprocess: preprocess(), + // Consult https://github.com/sveltejs/svelte-preprocess + // for more information about preprocessors + preprocess: preprocess(), - kit: { - adapter: adapter(), + kit: { + adapter: adapter(), - // Override http methods in the Todo forms - methodOverride: { - allowed: ['PATCH', 'DELETE'] - } - } + // Override http methods in the Todo forms + methodOverride: { + allowed: ["PATCH", "DELETE"], + }, + }, }; export default config; diff --git a/tsconfig.json b/tsconfig.json index 0f47472..5c56cee 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,13 +1,13 @@ { - "extends": "./.svelte-kit/tsconfig.json", - "compilerOptions": { - "allowJs": true, - "checkJs": true, - "esModuleInterop": true, - "forceConsistentCasingInFileNames": true, - "resolveJsonModule": true, - "skipLibCheck": true, - "sourceMap": true, - "strict": true - } + "extends": "./.svelte-kit/tsconfig.json", + "compilerOptions": { + "allowJs": true, + "checkJs": true, + "esModuleInterop": true, + "forceConsistentCasingInFileNames": true, + "resolveJsonModule": true, + "skipLibCheck": true, + "sourceMap": true, + "strict": true + } }