From 510fd8cbe53abb39cba2c7cbaaefcf2783dc0066 Mon Sep 17 00:00:00 2001 From: "netop://ウィビ" Date: Fri, 24 Apr 2026 16:37:33 -0700 Subject: Implement v0.6-1.0: shortcuts, format, export/import, splitter, timing, APQ - v0.6: matchShortcut + format(); Cmd+Shift+Enter/W/F + Cmd+Alt+arrows - v0.7: SessionStore.exportAll/importTabs with version-1 validator - v0.8: Splitter component + four resize handles persisted under layout.* - v0.10: createApqFetcher (HTTP-only) wrapping shared http-body helpers - Drop .svelte re-exports from index.ts for multi-entry JSR/npm publishing --- source/library/fetcher/http-body.ts | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 source/library/fetcher/http-body.ts (limited to 'source/library/fetcher/http-body.ts') diff --git a/source/library/fetcher/http-body.ts b/source/library/fetcher/http-body.ts new file mode 100644 index 0000000..b079d47 --- /dev/null +++ b/source/library/fetcher/http-body.ts @@ -0,0 +1,31 @@ + + + +/*** UTILITY ------------------------------------------ ***/ + +import type { FetcherOptions, FetcherRequest } from "./types.ts"; + +/*** EXPORT ------------------------------------------- ***/ + +export function buildHeaders(options: FetcherOptions, req: FetcherRequest): Record { + return { + "Content-Type": "application/json", + ...options.headers, + ...req.headers + }; +} + +export async function postJson( + fetchImpl: typeof globalThis.fetch, + url: string, + headers: Record, + body: unknown +): Promise> { + const response = await fetchImpl(url, { + body: JSON.stringify(body), + headers, + method: "POST" + }); + + return await response.json(); +} -- cgit v1.2.3