@supersoniks/concorde 4.9.0 → 4.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -578,7 +578,9 @@
578
578
  return json2(paginateUsers(url));
579
579
  }
580
580
  if (subPath === "/geo/communes" || subPath.startsWith("/geo/communes")) {
581
- return json2(geoCommunes(url));
581
+ return json2(geoCommunes(url), {
582
+ headers: { "X-Fetched-At": (/* @__PURE__ */ new Date()).toISOString() }
583
+ });
582
584
  }
583
585
  const jokeMatch = subPath.match(/^\/jokes\/joke\/([^/]+)$/);
584
586
  if (jokeMatch) {
@@ -605,4 +607,3 @@
605
607
  );
606
608
  });
607
609
  })();
608
- //# sourceMappingURL=docs-mock-api-sw.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/docs/mock-api/urls.ts", "../src/docs/mock-api/api-config-mock.ts", "../src/docs/mock-api/fixtures.ts", "../src/docs/mock-api/router.ts", "../src/docs/mock-api/service-worker.ts"],
4
- "sourcesContent": ["/** Base same-origin pour les d\u00E9mos doc (Service Worker + middleware Vite). */\nexport const DOCS_MOCK_API_BASE = \"/docs-mock-api\";\n\n/** Remplace https://reqres.in \u2014 chemins `api/users`, `api/users/2`, etc. */\nexport const DOCS_MOCK_REQRES_SERVICE = DOCS_MOCK_API_BASE;\n\n/** Remplace https://geo.api.gouv.fr/ \u2014 chemins `communes?\u2026`. */\nexport const DOCS_MOCK_GEO_SERVICE = `${DOCS_MOCK_API_BASE}/geo/`;\n\n/** Remplace https://v2.jokeapi.dev \u2014 chemins `joke/Any?\u2026`. */\nexport const DOCS_MOCK_JOKES_SERVICE = `${DOCS_MOCK_API_BASE}/jokes`;\n", "import { DOCS_MOCK_API_BASE } from \"./urls\";\n\n/** Bearer accept\u00E9 par GET /api/config/protected */\nexport const DOCS_MOCK_TOKEN_VALID = \"docs-mock-valid-token\";\n/** D\u00E9clenche HTTP 498 \u2192 renouvellement via tokenProvider */\nexport const DOCS_MOCK_TOKEN_STALE = \"docs-mock-stale-token\";\n/** \u00C9mis par GET /auth/token apr\u00E8s Basic auth ou eventsApiToken */\nexport const DOCS_MOCK_TOKEN_FRESH = \"docs-mock-fresh-token\";\n\nconst DOCS_MOCK_BASIC_USER = \"demo\";\nconst DOCS_MOCK_BASIC_PASSWORD = \"secret\";\n/** Valeur de l\u2019attribut anc\u00EAtre `eventsApiToken` (Bearer pour /auth/token) */\nexport const DOCS_MOCK_EVENTS_API_TOKEN = \"docs-mock-events-token\";\n\nconst WORDING_CATALOG: Record<string, Record<string, string>> = {\n \"api-config.greeting\": { fr: \"Bonjour\", en: \"Hello\" },\n \"api-config.farewell\": { fr: \"Au revoir\", en: \"Goodbye\" },\n \"api-config.hint\": {\n fr: \"Libell\u00E9s servis par le mock /wording/labels\",\n en: \"Labels served by mock /wording/labels\",\n },\n};\n\nfunction json(body: unknown, init: ResponseInit = {}): Response {\n const headers = new Headers(init.headers);\n headers.set(\"Content-Type\", \"application/json; charset=utf-8\");\n headers.set(\"Access-Control-Allow-Origin\", \"*\");\n headers.set(\"X-Docs-Mock-Api\", \"concorde-api-config\");\n return new Response(JSON.stringify(body), { ...init, headers });\n}\n\ntype ParsedAuth =\n | { kind: \"none\" }\n | { kind: \"basic\"; user: string; password: string }\n | { kind: \"bearer\"; token: string };\n\nfunction parseAuthorization(request: Request): ParsedAuth {\n const header = request.headers.get(\"authorization\");\n if (!header) return { kind: \"none\" };\n const basic = header.match(/^Basic\\s+(.+)$/i);\n if (basic) {\n try {\n const decoded = atob(basic[1]);\n const sep = decoded.indexOf(\":\");\n if (sep < 0) return { kind: \"none\" };\n return {\n kind: \"basic\",\n user: decoded.slice(0, sep),\n password: decoded.slice(sep + 1),\n };\n } catch {\n return { kind: \"none\" };\n }\n }\n const bearer = header.match(/^Bearer\\s+(.+)$/i);\n if (bearer) return { kind: \"bearer\", token: bearer[1].trim() };\n return { kind: \"none\" };\n}\n\nfunction isValidBasic(auth: ParsedAuth): boolean {\n return (\n auth.kind === \"basic\" &&\n auth.user === DOCS_MOCK_BASIC_USER &&\n auth.password === DOCS_MOCK_BASIC_PASSWORD\n );\n}\n\nfunction wordingLabels(url: URL): Response {\n const lang = url.searchParams.get(\"lang\") || \"fr\";\n const labels = url.searchParams.getAll(\"labels[]\").length\n ? url.searchParams.getAll(\"labels[]\")\n : url.searchParams.getAll(\"labels\");\n const result: Record<string, string> = {};\n for (const key of labels) {\n const entry = WORDING_CATALOG[key];\n result[key] =\n entry?.[lang] ?? entry?.en ?? `[missing:${key}]`;\n }\n return json({ lang, labels: result, ...result });\n}\n\n/**\n * Routes mock pour la page doc APIConfiguration (token, 498, wording).\n */\nexport function handleApiConfigMockRequest(\n request: Request,\n subPath: string,\n method: string,\n): Response | null {\n if (subPath === \"/auth/token\" && method === \"GET\") {\n const auth = parseAuthorization(request);\n if (isValidBasic(auth)) {\n return json({\n token: DOCS_MOCK_TOKEN_FRESH,\n source: \"basic\",\n serviceHost: new URL(request.url).searchParams.get(\"serviceHost\"),\n });\n }\n if (\n auth.kind === \"bearer\" &&\n auth.token === DOCS_MOCK_EVENTS_API_TOKEN\n ) {\n return json({\n token: DOCS_MOCK_TOKEN_FRESH,\n source: \"eventsApiToken\",\n });\n }\n return json({ error: \"Unauthorized\" }, { status: 401 });\n }\n\n if (subPath === \"/api/config/protected\" && method === \"GET\") {\n const auth = parseAuthorization(request);\n if (auth.kind === \"bearer\") {\n if (auth.token === DOCS_MOCK_TOKEN_STALE) {\n return json({ error: \"Token expired\", code: \"token_stale\" }, { status: 498 });\n }\n if (\n auth.token === DOCS_MOCK_TOKEN_VALID ||\n auth.token === DOCS_MOCK_TOKEN_FRESH\n ) {\n return json({\n ok: true,\n message: \"Protected resource\",\n tokenUsed: auth.token,\n });\n }\n }\n if (isValidBasic(auth)) {\n return json({\n ok: true,\n message: \"Protected resource (basic)\",\n tokenUsed: null,\n });\n }\n return json({ error: \"Unauthorized\" }, { status: 401 });\n }\n\n if (\n (subPath === \"/wording/labels\" || subPath.startsWith(\"/wording/labels\")) &&\n method === \"GET\"\n ) {\n return wordingLabels(new URL(request.url));\n }\n\n return null;\n}\n\nexport const API_CONFIG_MOCK_PATHS = [\n `${DOCS_MOCK_API_BASE}/auth/token`,\n `${DOCS_MOCK_API_BASE}/api/config/protected`,\n `${DOCS_MOCK_API_BASE}/wording/labels`,\n] as const;\n", "/** Donn\u00E9es type ReqRes pour les d\u00E9mos doc (sans appel externe). */\n\nexport type ReqresUser = {\n id: number;\n email: string;\n first_name: string;\n last_name: string;\n avatar: string;\n};\n\nconst reqresAvatar = (seed: string) =>\n `https://i.pravatar.cc/150?u=${encodeURIComponent(seed)}`;\n\nconst REQRES_EXTRA_NAMES: [string, string][] = [\n [\"Michael\", \"Lawson\"],\n [\"Tobias\", \"Funke\"],\n [\"Lindsay\", \"Funke\"],\n [\"Maeby\", \"Funke\"],\n [\"George\", \"Michael\"],\n [\"Annye\", \"Vang\"],\n [\"Rachel\", \"Howe\"],\n [\"Terry\", \"Medhurst\"],\n [\"Bette\", \"Haag\"],\n [\"Lester\", \"Solomon\"],\n [\"April\", \"Douglas\"],\n [\"Marian\", \"Roberts\"],\n [\"Kathryn\", \"Murphy\"],\n [\"Gloria\", \"Armstrong\"],\n [\"Adam\", \"Bradley\"],\n [\"Angela\", \"Hicks\"],\n [\"Rose\", \"Wheeler\"],\n [\"Sara\", \"Berry\"],\n [\"Glen\", \"Kuhn\"],\n [\"Roger\", \"Cox\"],\n];\n\nfunction buildReqresUser(\n id: number,\n first_name: string,\n last_name: string,\n): ReqresUser {\n const slug = `${first_name}-${last_name}`.toLowerCase();\n return {\n id,\n email: `${first_name.toLowerCase()}.${last_name.toLowerCase()}@example.com`,\n first_name,\n last_name,\n avatar: reqresAvatar(slug),\n };\n}\n\n/** Jeu \u00E9tendu pour d\u00E9mos queue / lazyload (pagination par offset). */\nexport const DOCS_REQRES_USERS: ReqresUser[] = [\n buildReqresUser(1, \"George\", \"Bluth\"),\n buildReqresUser(2, \"Janet\", \"Weaver\"),\n buildReqresUser(3, \"Emma\", \"Wong\"),\n buildReqresUser(4, \"Eve\", \"Holt\"),\n ...REQRES_EXTRA_NAMES.map(([first_name, last_name], index) =>\n buildReqresUser(5 + index, first_name, last_name),\n ),\n];\n\nexport type ReqresUserResponse = { data: ReqresUser };\nexport type ReqresUsersListResponse = {\n page: number;\n per_page: number;\n total: number;\n total_pages: number;\n data: ReqresUser[];\n};\n\n/** Filter users for mock search (`q` \u2014 first name, last name, email). Same logic as the TS starter. */\nexport function filterDocsUsers(\n users: ReqresUser[],\n query: string | null | undefined,\n): ReqresUser[] {\n const q = query?.trim().toLowerCase();\n if (!q) return users;\n return users.filter((user) => {\n const haystack =\n `${user.first_name} ${user.last_name} ${user.email}`.toLowerCase();\n return haystack.includes(q);\n });\n}\n\nexport type GeoCommuneRow = { nom: string; code: string };\n\nexport const DOCS_GEO_COMMUNES: GeoCommuneRow[] = [\n { nom: \"Paris\", code: \"75056\" },\n { nom: \"Lyon\", code: \"69123\" },\n { nom: \"Marseille\", code: \"13055\" },\n { nom: \"Toulouse\", code: \"31555\" },\n { nom: \"Lille\", code: \"59350\" },\n { nom: \"Bordeaux\", code: \"33063\" },\n { nom: \"Nantes\", code: \"44109\" },\n { nom: \"Strasbourg\", code: \"67482\" },\n { nom: \"Montpellier\", code: \"34172\" },\n { nom: \"Rennes\", code: \"35238\" },\n];\n\n/** JokeAPI-style content flags (checkbox / radio / switch blacklist demos). */\nexport type DocsJokeFlagKey =\n | \"nsfw\"\n | \"religious\"\n | \"political\"\n | \"racist\"\n | \"sexist\"\n | \"explicit\";\n\n/** Forme proche de JokeAPI v2 (`key=\"jokes\"` sur sonic-queue / list). */\nexport type DocsJokeItem = {\n categories: string[];\n createdAt: string;\n id: number;\n joke: string;\n lang: \"fr\" | \"en\";\n flags: Record<DocsJokeFlagKey, boolean>;\n safe: boolean;\n type: string;\n setup?: string;\n delivery?: string;\n};\n\nconst jokeFlags = (\n partial: Partial<Record<DocsJokeFlagKey, boolean>> = {},\n): Record<DocsJokeFlagKey, boolean> => ({\n nsfw: false,\n religious: false,\n political: false,\n racist: false,\n sexist: false,\n explicit: false,\n ...partial,\n});\n\nexport type DocsJokeApiResponse = {\n error: boolean;\n amount: number;\n jokes: DocsJokeItem[];\n};\n\nconst SAMPLE_JOKES: DocsJokeItem[] = [\n {\n categories: [\"Programming\"],\n createdAt: \"2020-01-01 00:00:00\",\n id: 1,\n lang: \"en\",\n joke: \"Why do programmers prefer dark mode? Because light attracts bugs.\",\n flags: jokeFlags(),\n safe: true,\n type: \"single\",\n },\n {\n categories: [\"Misc\"],\n createdAt: \"2020-01-02 00:00:00\",\n id: 2,\n lang: \"en\",\n joke: \"I told my computer I needed a break \u2014 it said: no problem, I'll go to sleep.\",\n flags: jokeFlags({ nsfw: true }),\n safe: false,\n type: \"single\",\n },\n {\n categories: [\"Pun\"],\n createdAt: \"2020-01-03 00:00:00\",\n id: 3,\n lang: \"en\",\n joke: \"Concorde docs run offline: even the API is a local joke.\",\n flags: jokeFlags(),\n safe: true,\n type: \"single\",\n },\n {\n categories: [\"Animals\"],\n createdAt: \"2020-01-04 00:00:00\",\n id: 4,\n lang: \"en\",\n joke: \"The dog ate my homework and my pull request.\",\n flags: jokeFlags({ political: true }),\n safe: true,\n type: \"single\",\n },\n {\n categories: [\"Animals\", \"Pun\"],\n createdAt: \"2020-01-05 00:00:00\",\n id: 5,\n lang: \"fr\",\n joke: \"Quel est le chien pr\u00E9f\u00E9r\u00E9 des d\u00E9veloppeurs ? Le labrador Retriever.\",\n flags: jokeFlags(),\n safe: true,\n type: \"single\",\n },\n {\n categories: [\"Animals\"],\n createdAt: \"2020-01-06 00:00:00\",\n id: 6,\n lang: \"fr\",\n joke: \"Un chat et un chien discutent de TypeScript : le chien dit \u00AB woof \u00BB, le chat compile.\",\n flags: jokeFlags({ racist: true }),\n safe: false,\n type: \"single\",\n },\n {\n categories: [\"Misc\"],\n createdAt: \"2020-01-07 00:00:00\",\n id: 7,\n lang: \"fr\",\n joke: \"Pourquoi les blagues offline sont-elles fiables ? Parce qu'elles passent par le Service Worker.\",\n flags: jokeFlags({ religious: true }),\n safe: true,\n type: \"single\",\n },\n {\n categories: [\"Programming\"],\n createdAt: \"2020-01-08 00:00:00\",\n id: 8,\n lang: \"fr\",\n joke: \"Mon compilateur et mon chien : tous deux ignorent mes commandes jusqu'au build.\",\n flags: jokeFlags({ sexist: true }),\n safe: false,\n type: \"single\",\n },\n {\n categories: [\"Misc\"],\n createdAt: \"2020-01-09 00:00:00\",\n id: 9,\n lang: \"en\",\n joke: \"A SQL query walks into a bar, walks up to two tables and asks: Can I join you?\",\n flags: jokeFlags({ explicit: true }),\n safe: false,\n type: \"single\",\n },\n {\n categories: [\"Pun\"],\n createdAt: \"2020-01-10 00:00:00\",\n id: 10,\n lang: \"fr\",\n joke: \"J'ai cherch\u00E9 \u00AB chien \u00BB dans la doc : le mock API a r\u00E9pondu.\",\n flags: jokeFlags(),\n safe: true,\n type: \"single\",\n },\n {\n categories: [\"Misc\"],\n createdAt: \"2020-01-11 00:00:00\",\n id: 11,\n lang: \"en\",\n joke: \"There are only two hard things in Computer Science: cache invalidation and naming things.\",\n flags: jokeFlags({ political: true, explicit: true }),\n safe: false,\n type: \"single\",\n },\n {\n categories: [\"Animals\"],\n createdAt: \"2020-01-12 00:00:00\",\n id: 12,\n lang: \"fr\",\n joke: \"Le golden retriever a r\u00E9cup\u00E9r\u00E9 la donn\u00E9e du publisher.\",\n flags: jokeFlags({ racist: true, sexist: true }),\n safe: false,\n type: \"two-liner\",\n setup: \"Pourquoi le chien aime Concorde ?\",\n delivery: \"Parce qu'il sait fetch.\",\n },\n {\n categories: [\"Misc\"],\n createdAt: \"2020-01-13 00:00:00\",\n id: 13,\n lang: \"en\",\n joke: \"My code and my conscience: both have too many warnings.\",\n flags: jokeFlags(),\n safe: true,\n type: \"single\",\n },\n {\n categories: [\"Programming\"],\n createdAt: \"2020-01-14 00:00:00\",\n id: 14,\n lang: \"en\",\n joke: \"Git blame is just a mirror.\",\n flags: jokeFlags({ religious: true, political: true }),\n safe: false,\n type: \"single\",\n },\n];\n\n/** `blacklistFlags` from queue filter form (comma-separated or repeated param). */\nexport function parseBlacklistFlags(url: URL): DocsJokeFlagKey[] {\n const keys = new Set<DocsJokeFlagKey>();\n const valid: DocsJokeFlagKey[] = [\n \"nsfw\",\n \"religious\",\n \"political\",\n \"racist\",\n \"sexist\",\n \"explicit\",\n ];\n const add = (raw: string) => {\n raw\n .split(\",\")\n .map((s) => s.trim().toLowerCase())\n .forEach((part) => {\n if (valid.includes(part as DocsJokeFlagKey)) keys.add(part as DocsJokeFlagKey);\n });\n };\n url.searchParams.getAll(\"blacklistFlags\").forEach(add);\n const single = url.searchParams.get(\"blacklistFlags\");\n if (single) add(single);\n return [...keys];\n}\n\n/** Exclude jokes that match any blacklisted flag (JokeAPI-style). */\nexport function applyJokeBlacklist(\n jokes: DocsJokeItem[],\n blacklist: DocsJokeFlagKey[],\n): DocsJokeItem[] {\n if (!blacklist.length) return jokes;\n return jokes.filter(\n (j) => !blacklist.some((flag) => j.flags[flag] === true),\n );\n}\n\n/** Filtre doc joke queue (`contains`, `lang`, `blacklistFlags` via `dataFilterProvider`). */\nexport function filterDocsJokes(\n jokes: DocsJokeItem[],\n url: URL,\n): DocsJokeItem[] {\n let pool = jokes;\n const contains = url.searchParams.get(\"contains\")?.trim().toLowerCase();\n if (contains) {\n pool = pool.filter((j) => {\n const haystack = [j.joke, j.setup, j.delivery, ...j.categories]\n .filter(Boolean)\n .join(\" \")\n .toLowerCase();\n return haystack.includes(contains);\n });\n }\n const lang = url.searchParams.get(\"lang\")?.trim().toLowerCase();\n if (lang === \"fr\" || lang === \"en\") {\n pool = pool.filter((j) => j.lang === lang);\n }\n pool = applyJokeBlacklist(pool, parseBlacklistFlags(url));\n return pool;\n}\n\n/**\n * R\u00E9ponse type JokeAPI v2.\n * - `amount` : taille du lot si pas de `offset`\n * - `offset` + `limit` / `per_page` : pagination (sonic-queue lazy)\n * - `contains`, `lang`, `blacklistFlags` : filtres formulaire (queue \u00AB Remove following jokes \u00BB)\n */\nexport function buildJokeApiResponse(url: URL): DocsJokeApiResponse {\n const pool = filterDocsJokes(SAMPLE_JOKES, url);\n const amount = Math.max(\n 1,\n parseInt(url.searchParams.get(\"amount\") || \"10\", 10),\n );\n const hasOffset = url.searchParams.has(\"offset\");\n const limit = Math.max(\n 1,\n parseInt(\n url.searchParams.get(\"limit\") ||\n url.searchParams.get(\"per_page\") ||\n String(amount),\n 10,\n ),\n );\n const offset = Math.max(0, parseInt(url.searchParams.get(\"offset\") || \"0\", 10));\n const start = hasOffset ? offset : 0;\n const count = hasOffset ? limit : amount;\n const jokes = pool.slice(start, start + count).map((j, i) => ({\n ...j,\n id: start + i + 1,\n }));\n return { error: false, amount: jokes.length, jokes };\n}\n", "import { handleApiConfigMockRequest } from \"./api-config-mock\";\nimport {\n DOCS_GEO_COMMUNES,\n DOCS_REQRES_USERS,\n buildJokeApiResponse,\n filterDocsUsers,\n type GeoCommuneRow,\n type ReqresUserResponse,\n type ReqresUsersListResponse,\n} from \"./fixtures\";\n\nexport const DOCS_MOCK_API_PREFIX = \"/docs-mock-api\";\n\nfunction json(\n body: unknown,\n init: ResponseInit & { delayMs?: number } = {},\n): Promise<Response> {\n const { delayMs = 0, ...responseInit } = init;\n const headers = new Headers(responseInit.headers);\n headers.set(\"Content-Type\", \"application/json; charset=utf-8\");\n headers.set(\"Access-Control-Allow-Origin\", \"*\");\n headers.set(\"X-Docs-Mock-Api\", \"concorde\");\n\n const build = () =>\n new Response(JSON.stringify(body), { ...responseInit, headers });\n\n if (delayMs <= 0) return Promise.resolve(build());\n return new Promise((resolve) =>\n setTimeout(() => resolve(build()), delayMs),\n );\n}\n\n/**\n * Liste utilisateurs type ReqRes.\n * - `offset` + `per_page` / `limit` : pagination index\u00E9e (sonic-queue avec `$offset` / `$limit`)\n * - `page` + `per_page` : num\u00E9ro de page 1-based (sonic-fetch, ex. `?page=2`)\n * - `q` : recherche sur pr\u00E9nom, nom, email (sonic-queue + `dataFilterProvider`, champ `name=\"q\"`)\n */\nexport function paginateUsers(url: URL): ReqresUsersListResponse {\n const perPage = Math.max(\n 1,\n parseInt(\n url.searchParams.get(\"per_page\") ||\n url.searchParams.get(\"limit\") ||\n \"6\",\n 10,\n ),\n );\n const pool = filterDocsUsers(DOCS_REQRES_USERS, url.searchParams.get(\"q\"));\n const total = pool.length;\n\n let start: number;\n let page: number;\n\n if (url.searchParams.has(\"offset\")) {\n start = Math.max(0, parseInt(url.searchParams.get(\"offset\") || \"0\", 10));\n page = Math.floor(start / perPage) + 1;\n } else {\n page = Math.max(1, parseInt(url.searchParams.get(\"page\") || \"1\", 10));\n start = (page - 1) * perPage;\n }\n\n const data = pool.slice(start, start + perPage);\n\n return {\n page,\n per_page: perPage,\n total,\n total_pages: Math.max(1, Math.ceil(total / perPage)),\n data,\n };\n}\n\nasync function parseRegisterFields(\n request: Request,\n): Promise<{ email?: string; password?: string }> {\n const contentType = (request.headers.get(\"content-type\") || \"\").toLowerCase();\n\n if (contentType.includes(\"multipart/form-data\")) {\n const fd = await request.formData();\n return {\n email: String(fd.get(\"email\") ?? \"\"),\n password: String(fd.get(\"password\") ?? \"\"),\n };\n }\n\n if (contentType.includes(\"application/x-www-form-urlencoded\")) {\n const text = await request.text();\n const params = new URLSearchParams(text);\n return {\n email: params.get(\"email\") ?? \"\",\n password: params.get(\"password\") ?? \"\",\n };\n }\n\n const text = await request.text();\n if (!text.trim()) return {};\n\n try {\n const parsed = JSON.parse(text) as { email?: unknown; password?: unknown };\n return {\n email: parsed.email != null ? String(parsed.email) : \"\",\n password: parsed.password != null ? String(parsed.password) : \"\",\n };\n } catch {\n const params = new URLSearchParams(text);\n if (params.has(\"email\") || params.has(\"password\")) {\n return {\n email: params.get(\"email\") ?? \"\",\n password: params.get(\"password\") ?? \"\",\n };\n }\n return {};\n }\n}\n\nfunction registerOkBody(\n fields: { email: string; password: string },\n nested = false,\n) {\n const payload = {\n id: 4,\n token: \"docs-mock-register-token\",\n email: fields.email,\n };\n return nested ? { data: payload } : payload;\n}\n\nfunction geoCommunes(url: URL): GeoCommuneRow[] {\n const limit = Math.max(\n 1,\n parseInt(url.searchParams.get(\"limit\") || \"5\", 10),\n );\n const offset = Math.max(0, parseInt(url.searchParams.get(\"offset\") || \"0\", 10));\n return DOCS_GEO_COMMUNES.slice(offset, offset + limit);\n}\n\n/**\n * Intercepte les requ\u00EAtes vers /docs-mock-api/* (Service Worker ou middleware Vite).\n */\nexport async function handleDocsMockApiRequest(\n request: Request,\n): Promise<Response | null> {\n const url = new URL(request.url);\n if (!url.pathname.startsWith(DOCS_MOCK_API_PREFIX)) return null;\n\n const subPath = url.pathname.slice(DOCS_MOCK_API_PREFIX.length) || \"/\";\n const method = request.method.toUpperCase();\n\n if (subPath === \"/health\") {\n return json({ ok: true, service: \"concorde-docs-mock-api\" });\n }\n\n const apiConfigResponse = handleApiConfigMockRequest(request, subPath, method);\n if (apiConfigResponse) return apiConfigResponse;\n\n if (\n (subPath === \"/api/register\" || subPath === \"/api/register/nested\") &&\n method === \"POST\"\n ) {\n const body = await parseRegisterFields(request);\n if (!body.email?.trim() || !body.password?.trim()) {\n return json(\n {\n messages: [\n {\n content: \"email and password are required\",\n status: \"error\",\n },\n ],\n },\n { status: 400 },\n );\n }\n return json(\n registerOkBody(\n { email: body.email!.trim(), password: body.password!.trim() },\n subPath === \"/api/register/nested\",\n ),\n );\n }\n\n const sessionSyncMatch = subPath.match(/^\\/api\\/sessions\\/([^/]+)\\/sync$/);\n if (sessionSyncMatch && method === \"POST\") {\n const sessionId = decodeURIComponent(sessionSyncMatch[1]);\n let body: Record<string, unknown> = {};\n try {\n const text = await request.text();\n if (text.trim()) {\n body = JSON.parse(text) as Record<string, unknown>;\n }\n } catch {\n body = {};\n }\n return json({\n ok: true,\n sessionId,\n serverTime: Date.now(),\n echo: body,\n });\n }\n\n if (subPath === \"/api/register/echo\" && method === \"GET\") {\n const email = url.searchParams.get(\"email\") ?? \"\";\n const password = url.searchParams.get(\"password\") ?? \"\";\n if (!email.trim() || !password.trim()) {\n return json(\n {\n messages: [\n {\n content: \"email and password query params are required\",\n status: \"error\",\n },\n ],\n },\n { status: 400 },\n );\n }\n return json({\n method: \"GET\",\n query: { email, password },\n email,\n note: \"sonic-submit method=\\\"get\\\" appends form fields to the endpoint URL\",\n });\n }\n\n if (method !== \"GET\") {\n return json({ error: \"Method not allowed\" }, { status: 405 });\n }\n\n const userMatch = subPath.match(/^\\/api\\/users\\/(\\d+)$/);\n if (userMatch) {\n const id = parseInt(userMatch[1], 10);\n const user =\n DOCS_REQRES_USERS.find((u) => u.id === id) ?? DOCS_REQRES_USERS[0];\n const body: ReqresUserResponse = { data: { ...user, id } };\n return json(body);\n }\n\n if (subPath === \"/api/users\") {\n return json(paginateUsers(url));\n }\n\n if (subPath === \"/geo/communes\" || subPath.startsWith(\"/geo/communes\")) {\n return json(geoCommunes(url));\n }\n\n const jokeMatch = subPath.match(/^\\/jokes\\/joke\\/([^/]+)$/);\n if (jokeMatch) {\n return json(buildJokeApiResponse(url));\n }\n\n return json({ error: \"Not found\", path: subPath }, { status: 404 });\n}\n", "/// <reference lib=\"webworker\" />\nimport { handleDocsMockApiRequest} from \"./router\";\n\ndeclare const self: ServiceWorkerGlobalScope;\n\nself.addEventListener(\"install\", (event) => {\n event.waitUntil(self.skipWaiting());\n});\n\nself.addEventListener(\"activate\", (event) => {\n event.waitUntil(self.clients.claim());\n});\n\nself.addEventListener(\"fetch\", (event) => {\n const {request} = event;\n event.respondWith(\n (async () => {\n const mocked = await handleDocsMockApiRequest(request);\n if (mocked) return mocked;\n return fetch(request);\n })(),\n );\n});\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["/** Base same-origin pour les d\u00E9mos doc (Service Worker + middleware Vite). */\nexport const DOCS_MOCK_API_BASE = \"/docs-mock-api\";\n\n/** Remplace https://reqres.in \u2014 chemins `api/users`, `api/users/2`, etc. */\nexport const DOCS_MOCK_REQRES_SERVICE = DOCS_MOCK_API_BASE;\n\n/** Remplace https://geo.api.gouv.fr/ \u2014 chemins `communes?\u2026`. */\nexport const DOCS_MOCK_GEO_SERVICE = `${DOCS_MOCK_API_BASE}/geo/`;\n\n/** Remplace https://v2.jokeapi.dev \u2014 chemins `joke/Any?\u2026`. */\nexport const DOCS_MOCK_JOKES_SERVICE = `${DOCS_MOCK_API_BASE}/jokes`;\n", "import { DOCS_MOCK_API_BASE } from \"./urls\";\n\n/** Bearer accept\u00E9 par GET /api/config/protected */\nexport const DOCS_MOCK_TOKEN_VALID = \"docs-mock-valid-token\";\n/** D\u00E9clenche HTTP 498 \u2192 renouvellement via tokenProvider */\nexport const DOCS_MOCK_TOKEN_STALE = \"docs-mock-stale-token\";\n/** \u00C9mis par GET /auth/token apr\u00E8s Basic auth ou eventsApiToken */\nexport const DOCS_MOCK_TOKEN_FRESH = \"docs-mock-fresh-token\";\n\nconst DOCS_MOCK_BASIC_USER = \"demo\";\nconst DOCS_MOCK_BASIC_PASSWORD = \"secret\";\n/** Valeur de l\u2019attribut anc\u00EAtre `eventsApiToken` (Bearer pour /auth/token) */\nexport const DOCS_MOCK_EVENTS_API_TOKEN = \"docs-mock-events-token\";\n\nconst WORDING_CATALOG: Record<string, Record<string, string>> = {\n \"api-config.greeting\": { fr: \"Bonjour\", en: \"Hello\" },\n \"api-config.farewell\": { fr: \"Au revoir\", en: \"Goodbye\" },\n \"api-config.hint\": {\n fr: \"Libell\u00E9s servis par le mock /wording/labels\",\n en: \"Labels served by mock /wording/labels\",\n },\n};\n\nfunction json(body: unknown, init: ResponseInit = {}): Response {\n const headers = new Headers(init.headers);\n headers.set(\"Content-Type\", \"application/json; charset=utf-8\");\n headers.set(\"Access-Control-Allow-Origin\", \"*\");\n headers.set(\"X-Docs-Mock-Api\", \"concorde-api-config\");\n return new Response(JSON.stringify(body), { ...init, headers });\n}\n\ntype ParsedAuth =\n | { kind: \"none\" }\n | { kind: \"basic\"; user: string; password: string }\n | { kind: \"bearer\"; token: string };\n\nfunction parseAuthorization(request: Request): ParsedAuth {\n const header = request.headers.get(\"authorization\");\n if (!header) return { kind: \"none\" };\n const basic = header.match(/^Basic\\s+(.+)$/i);\n if (basic) {\n try {\n const decoded = atob(basic[1]);\n const sep = decoded.indexOf(\":\");\n if (sep < 0) return { kind: \"none\" };\n return {\n kind: \"basic\",\n user: decoded.slice(0, sep),\n password: decoded.slice(sep + 1),\n };\n } catch {\n return { kind: \"none\" };\n }\n }\n const bearer = header.match(/^Bearer\\s+(.+)$/i);\n if (bearer) return { kind: \"bearer\", token: bearer[1].trim() };\n return { kind: \"none\" };\n}\n\nfunction isValidBasic(auth: ParsedAuth): boolean {\n return (\n auth.kind === \"basic\" &&\n auth.user === DOCS_MOCK_BASIC_USER &&\n auth.password === DOCS_MOCK_BASIC_PASSWORD\n );\n}\n\nfunction wordingLabels(url: URL): Response {\n const lang = url.searchParams.get(\"lang\") || \"fr\";\n const labels = url.searchParams.getAll(\"labels[]\").length\n ? url.searchParams.getAll(\"labels[]\")\n : url.searchParams.getAll(\"labels\");\n const result: Record<string, string> = {};\n for (const key of labels) {\n const entry = WORDING_CATALOG[key];\n result[key] =\n entry?.[lang] ?? entry?.en ?? `[missing:${key}]`;\n }\n return json({ lang, labels: result, ...result });\n}\n\n/**\n * Routes mock pour la page doc APIConfiguration (token, 498, wording).\n */\nexport function handleApiConfigMockRequest(\n request: Request,\n subPath: string,\n method: string,\n): Response | null {\n if (subPath === \"/auth/token\" && method === \"GET\") {\n const auth = parseAuthorization(request);\n if (isValidBasic(auth)) {\n return json({\n token: DOCS_MOCK_TOKEN_FRESH,\n source: \"basic\",\n serviceHost: new URL(request.url).searchParams.get(\"serviceHost\"),\n });\n }\n if (\n auth.kind === \"bearer\" &&\n auth.token === DOCS_MOCK_EVENTS_API_TOKEN\n ) {\n return json({\n token: DOCS_MOCK_TOKEN_FRESH,\n source: \"eventsApiToken\",\n });\n }\n return json({ error: \"Unauthorized\" }, { status: 401 });\n }\n\n if (subPath === \"/api/config/protected\" && method === \"GET\") {\n const auth = parseAuthorization(request);\n if (auth.kind === \"bearer\") {\n if (auth.token === DOCS_MOCK_TOKEN_STALE) {\n return json({ error: \"Token expired\", code: \"token_stale\" }, { status: 498 });\n }\n if (\n auth.token === DOCS_MOCK_TOKEN_VALID ||\n auth.token === DOCS_MOCK_TOKEN_FRESH\n ) {\n return json({\n ok: true,\n message: \"Protected resource\",\n tokenUsed: auth.token,\n });\n }\n }\n if (isValidBasic(auth)) {\n return json({\n ok: true,\n message: \"Protected resource (basic)\",\n tokenUsed: null,\n });\n }\n return json({ error: \"Unauthorized\" }, { status: 401 });\n }\n\n if (\n (subPath === \"/wording/labels\" || subPath.startsWith(\"/wording/labels\")) &&\n method === \"GET\"\n ) {\n return wordingLabels(new URL(request.url));\n }\n\n return null;\n}\n\nexport const API_CONFIG_MOCK_PATHS = [\n `${DOCS_MOCK_API_BASE}/auth/token`,\n `${DOCS_MOCK_API_BASE}/api/config/protected`,\n `${DOCS_MOCK_API_BASE}/wording/labels`,\n] as const;\n", "/** Donn\u00E9es type ReqRes pour les d\u00E9mos doc (sans appel externe). */\n\nexport type ReqresUser = {\n id: number;\n email: string;\n first_name: string;\n last_name: string;\n avatar: string;\n};\n\nconst reqresAvatar = (seed: string) =>\n `https://i.pravatar.cc/150?u=${encodeURIComponent(seed)}`;\n\nconst REQRES_EXTRA_NAMES: [string, string][] = [\n [\"Michael\", \"Lawson\"],\n [\"Tobias\", \"Funke\"],\n [\"Lindsay\", \"Funke\"],\n [\"Maeby\", \"Funke\"],\n [\"George\", \"Michael\"],\n [\"Annye\", \"Vang\"],\n [\"Rachel\", \"Howe\"],\n [\"Terry\", \"Medhurst\"],\n [\"Bette\", \"Haag\"],\n [\"Lester\", \"Solomon\"],\n [\"April\", \"Douglas\"],\n [\"Marian\", \"Roberts\"],\n [\"Kathryn\", \"Murphy\"],\n [\"Gloria\", \"Armstrong\"],\n [\"Adam\", \"Bradley\"],\n [\"Angela\", \"Hicks\"],\n [\"Rose\", \"Wheeler\"],\n [\"Sara\", \"Berry\"],\n [\"Glen\", \"Kuhn\"],\n [\"Roger\", \"Cox\"],\n];\n\nfunction buildReqresUser(\n id: number,\n first_name: string,\n last_name: string,\n): ReqresUser {\n const slug = `${first_name}-${last_name}`.toLowerCase();\n return {\n id,\n email: `${first_name.toLowerCase()}.${last_name.toLowerCase()}@example.com`,\n first_name,\n last_name,\n avatar: reqresAvatar(slug),\n };\n}\n\n/** Jeu \u00E9tendu pour d\u00E9mos queue / lazyload (pagination par offset). */\nexport const DOCS_REQRES_USERS: ReqresUser[] = [\n buildReqresUser(1, \"George\", \"Bluth\"),\n buildReqresUser(2, \"Janet\", \"Weaver\"),\n buildReqresUser(3, \"Emma\", \"Wong\"),\n buildReqresUser(4, \"Eve\", \"Holt\"),\n ...REQRES_EXTRA_NAMES.map(([first_name, last_name], index) =>\n buildReqresUser(5 + index, first_name, last_name),\n ),\n];\n\nexport type ReqresUserResponse = { data: ReqresUser };\nexport type ReqresUsersListResponse = {\n page: number;\n per_page: number;\n total: number;\n total_pages: number;\n data: ReqresUser[];\n};\n\n/** Filter users for mock search (`q` \u2014 first name, last name, email). Same logic as the TS starter. */\nexport function filterDocsUsers(\n users: ReqresUser[],\n query: string | null | undefined,\n): ReqresUser[] {\n const q = query?.trim().toLowerCase();\n if (!q) return users;\n return users.filter((user) => {\n const haystack =\n `${user.first_name} ${user.last_name} ${user.email}`.toLowerCase();\n return haystack.includes(q);\n });\n}\n\nexport type GeoCommuneRow = { nom: string; code: string };\n\nexport const DOCS_GEO_COMMUNES: GeoCommuneRow[] = [\n { nom: \"Paris\", code: \"75056\" },\n { nom: \"Lyon\", code: \"69123\" },\n { nom: \"Marseille\", code: \"13055\" },\n { nom: \"Toulouse\", code: \"31555\" },\n { nom: \"Lille\", code: \"59350\" },\n { nom: \"Bordeaux\", code: \"33063\" },\n { nom: \"Nantes\", code: \"44109\" },\n { nom: \"Strasbourg\", code: \"67482\" },\n { nom: \"Montpellier\", code: \"34172\" },\n { nom: \"Rennes\", code: \"35238\" },\n];\n\n/** JokeAPI-style content flags (checkbox / radio / switch blacklist demos). */\nexport type DocsJokeFlagKey =\n | \"nsfw\"\n | \"religious\"\n | \"political\"\n | \"racist\"\n | \"sexist\"\n | \"explicit\";\n\n/** Forme proche de JokeAPI v2 (`key=\"jokes\"` sur sonic-queue / list). */\nexport type DocsJokeItem = {\n categories: string[];\n createdAt: string;\n id: number;\n joke: string;\n lang: \"fr\" | \"en\";\n flags: Record<DocsJokeFlagKey, boolean>;\n safe: boolean;\n type: string;\n setup?: string;\n delivery?: string;\n};\n\nconst jokeFlags = (\n partial: Partial<Record<DocsJokeFlagKey, boolean>> = {},\n): Record<DocsJokeFlagKey, boolean> => ({\n nsfw: false,\n religious: false,\n political: false,\n racist: false,\n sexist: false,\n explicit: false,\n ...partial,\n});\n\nexport type DocsJokeApiResponse = {\n error: boolean;\n amount: number;\n jokes: DocsJokeItem[];\n};\n\nconst SAMPLE_JOKES: DocsJokeItem[] = [\n {\n categories: [\"Programming\"],\n createdAt: \"2020-01-01 00:00:00\",\n id: 1,\n lang: \"en\",\n joke: \"Why do programmers prefer dark mode? Because light attracts bugs.\",\n flags: jokeFlags(),\n safe: true,\n type: \"single\",\n },\n {\n categories: [\"Misc\"],\n createdAt: \"2020-01-02 00:00:00\",\n id: 2,\n lang: \"en\",\n joke: \"I told my computer I needed a break \u2014 it said: no problem, I'll go to sleep.\",\n flags: jokeFlags({ nsfw: true }),\n safe: false,\n type: \"single\",\n },\n {\n categories: [\"Pun\"],\n createdAt: \"2020-01-03 00:00:00\",\n id: 3,\n lang: \"en\",\n joke: \"Concorde docs run offline: even the API is a local joke.\",\n flags: jokeFlags(),\n safe: true,\n type: \"single\",\n },\n {\n categories: [\"Animals\"],\n createdAt: \"2020-01-04 00:00:00\",\n id: 4,\n lang: \"en\",\n joke: \"The dog ate my homework and my pull request.\",\n flags: jokeFlags({ political: true }),\n safe: true,\n type: \"single\",\n },\n {\n categories: [\"Animals\", \"Pun\"],\n createdAt: \"2020-01-05 00:00:00\",\n id: 5,\n lang: \"fr\",\n joke: \"Quel est le chien pr\u00E9f\u00E9r\u00E9 des d\u00E9veloppeurs ? Le labrador Retriever.\",\n flags: jokeFlags(),\n safe: true,\n type: \"single\",\n },\n {\n categories: [\"Animals\"],\n createdAt: \"2020-01-06 00:00:00\",\n id: 6,\n lang: \"fr\",\n joke: \"Un chat et un chien discutent de TypeScript : le chien dit \u00AB woof \u00BB, le chat compile.\",\n flags: jokeFlags({ racist: true }),\n safe: false,\n type: \"single\",\n },\n {\n categories: [\"Misc\"],\n createdAt: \"2020-01-07 00:00:00\",\n id: 7,\n lang: \"fr\",\n joke: \"Pourquoi les blagues offline sont-elles fiables ? Parce qu'elles passent par le Service Worker.\",\n flags: jokeFlags({ religious: true }),\n safe: true,\n type: \"single\",\n },\n {\n categories: [\"Programming\"],\n createdAt: \"2020-01-08 00:00:00\",\n id: 8,\n lang: \"fr\",\n joke: \"Mon compilateur et mon chien : tous deux ignorent mes commandes jusqu'au build.\",\n flags: jokeFlags({ sexist: true }),\n safe: false,\n type: \"single\",\n },\n {\n categories: [\"Misc\"],\n createdAt: \"2020-01-09 00:00:00\",\n id: 9,\n lang: \"en\",\n joke: \"A SQL query walks into a bar, walks up to two tables and asks: Can I join you?\",\n flags: jokeFlags({ explicit: true }),\n safe: false,\n type: \"single\",\n },\n {\n categories: [\"Pun\"],\n createdAt: \"2020-01-10 00:00:00\",\n id: 10,\n lang: \"fr\",\n joke: \"J'ai cherch\u00E9 \u00AB chien \u00BB dans la doc : le mock API a r\u00E9pondu.\",\n flags: jokeFlags(),\n safe: true,\n type: \"single\",\n },\n {\n categories: [\"Misc\"],\n createdAt: \"2020-01-11 00:00:00\",\n id: 11,\n lang: \"en\",\n joke: \"There are only two hard things in Computer Science: cache invalidation and naming things.\",\n flags: jokeFlags({ political: true, explicit: true }),\n safe: false,\n type: \"single\",\n },\n {\n categories: [\"Animals\"],\n createdAt: \"2020-01-12 00:00:00\",\n id: 12,\n lang: \"fr\",\n joke: \"Le golden retriever a r\u00E9cup\u00E9r\u00E9 la donn\u00E9e du publisher.\",\n flags: jokeFlags({ racist: true, sexist: true }),\n safe: false,\n type: \"two-liner\",\n setup: \"Pourquoi le chien aime Concorde ?\",\n delivery: \"Parce qu'il sait fetch.\",\n },\n {\n categories: [\"Misc\"],\n createdAt: \"2020-01-13 00:00:00\",\n id: 13,\n lang: \"en\",\n joke: \"My code and my conscience: both have too many warnings.\",\n flags: jokeFlags(),\n safe: true,\n type: \"single\",\n },\n {\n categories: [\"Programming\"],\n createdAt: \"2020-01-14 00:00:00\",\n id: 14,\n lang: \"en\",\n joke: \"Git blame is just a mirror.\",\n flags: jokeFlags({ religious: true, political: true }),\n safe: false,\n type: \"single\",\n },\n];\n\n/** `blacklistFlags` from queue filter form (comma-separated or repeated param). */\nexport function parseBlacklistFlags(url: URL): DocsJokeFlagKey[] {\n const keys = new Set<DocsJokeFlagKey>();\n const valid: DocsJokeFlagKey[] = [\n \"nsfw\",\n \"religious\",\n \"political\",\n \"racist\",\n \"sexist\",\n \"explicit\",\n ];\n const add = (raw: string) => {\n raw\n .split(\",\")\n .map((s) => s.trim().toLowerCase())\n .forEach((part) => {\n if (valid.includes(part as DocsJokeFlagKey)) keys.add(part as DocsJokeFlagKey);\n });\n };\n url.searchParams.getAll(\"blacklistFlags\").forEach(add);\n const single = url.searchParams.get(\"blacklistFlags\");\n if (single) add(single);\n return [...keys];\n}\n\n/** Exclude jokes that match any blacklisted flag (JokeAPI-style). */\nexport function applyJokeBlacklist(\n jokes: DocsJokeItem[],\n blacklist: DocsJokeFlagKey[],\n): DocsJokeItem[] {\n if (!blacklist.length) return jokes;\n return jokes.filter(\n (j) => !blacklist.some((flag) => j.flags[flag] === true),\n );\n}\n\n/** Filtre doc joke queue (`contains`, `lang`, `blacklistFlags` via `dataFilterProvider`). */\nexport function filterDocsJokes(\n jokes: DocsJokeItem[],\n url: URL,\n): DocsJokeItem[] {\n let pool = jokes;\n const contains = url.searchParams.get(\"contains\")?.trim().toLowerCase();\n if (contains) {\n pool = pool.filter((j) => {\n const haystack = [j.joke, j.setup, j.delivery, ...j.categories]\n .filter(Boolean)\n .join(\" \")\n .toLowerCase();\n return haystack.includes(contains);\n });\n }\n const lang = url.searchParams.get(\"lang\")?.trim().toLowerCase();\n if (lang === \"fr\" || lang === \"en\") {\n pool = pool.filter((j) => j.lang === lang);\n }\n pool = applyJokeBlacklist(pool, parseBlacklistFlags(url));\n return pool;\n}\n\n/**\n * R\u00E9ponse type JokeAPI v2.\n * - `amount` : taille du lot si pas de `offset`\n * - `offset` + `limit` / `per_page` : pagination (sonic-queue lazy)\n * - `contains`, `lang`, `blacklistFlags` : filtres formulaire (queue \u00AB Remove following jokes \u00BB)\n */\nexport function buildJokeApiResponse(url: URL): DocsJokeApiResponse {\n const pool = filterDocsJokes(SAMPLE_JOKES, url);\n const amount = Math.max(\n 1,\n parseInt(url.searchParams.get(\"amount\") || \"10\", 10),\n );\n const hasOffset = url.searchParams.has(\"offset\");\n const limit = Math.max(\n 1,\n parseInt(\n url.searchParams.get(\"limit\") ||\n url.searchParams.get(\"per_page\") ||\n String(amount),\n 10,\n ),\n );\n const offset = Math.max(0, parseInt(url.searchParams.get(\"offset\") || \"0\", 10));\n const start = hasOffset ? offset : 0;\n const count = hasOffset ? limit : amount;\n const jokes = pool.slice(start, start + count).map((j, i) => ({\n ...j,\n id: start + i + 1,\n }));\n return { error: false, amount: jokes.length, jokes };\n}\n", "import { handleApiConfigMockRequest } from \"./api-config-mock\";\nimport {\n DOCS_GEO_COMMUNES,\n DOCS_REQRES_USERS,\n buildJokeApiResponse,\n filterDocsUsers,\n type GeoCommuneRow,\n type ReqresUserResponse,\n type ReqresUsersListResponse,\n} from \"./fixtures\";\n\nexport const DOCS_MOCK_API_PREFIX = \"/docs-mock-api\";\n\nfunction json(\n body: unknown,\n init: ResponseInit & { delayMs?: number } = {},\n): Promise<Response> {\n const { delayMs = 0, ...responseInit } = init;\n const headers = new Headers(responseInit.headers);\n headers.set(\"Content-Type\", \"application/json; charset=utf-8\");\n headers.set(\"Access-Control-Allow-Origin\", \"*\");\n headers.set(\"X-Docs-Mock-Api\", \"concorde\");\n\n const build = () =>\n new Response(JSON.stringify(body), { ...responseInit, headers });\n\n if (delayMs <= 0) return Promise.resolve(build());\n return new Promise((resolve) =>\n setTimeout(() => resolve(build()), delayMs),\n );\n}\n\n/**\n * Liste utilisateurs type ReqRes.\n * - `offset` + `per_page` / `limit` : pagination index\u00E9e (sonic-queue avec `$offset` / `$limit`)\n * - `page` + `per_page` : num\u00E9ro de page 1-based (sonic-fetch, ex. `?page=2`)\n * - `q` : recherche sur pr\u00E9nom, nom, email (sonic-queue + `dataFilterProvider`, champ `name=\"q\"`)\n */\nexport function paginateUsers(url: URL): ReqresUsersListResponse {\n const perPage = Math.max(\n 1,\n parseInt(\n url.searchParams.get(\"per_page\") ||\n url.searchParams.get(\"limit\") ||\n \"6\",\n 10,\n ),\n );\n const pool = filterDocsUsers(DOCS_REQRES_USERS, url.searchParams.get(\"q\"));\n const total = pool.length;\n\n let start: number;\n let page: number;\n\n if (url.searchParams.has(\"offset\")) {\n start = Math.max(0, parseInt(url.searchParams.get(\"offset\") || \"0\", 10));\n page = Math.floor(start / perPage) + 1;\n } else {\n page = Math.max(1, parseInt(url.searchParams.get(\"page\") || \"1\", 10));\n start = (page - 1) * perPage;\n }\n\n const data = pool.slice(start, start + perPage);\n\n return {\n page,\n per_page: perPage,\n total,\n total_pages: Math.max(1, Math.ceil(total / perPage)),\n data,\n };\n}\n\nasync function parseRegisterFields(\n request: Request,\n): Promise<{ email?: string; password?: string }> {\n const contentType = (request.headers.get(\"content-type\") || \"\").toLowerCase();\n\n if (contentType.includes(\"multipart/form-data\")) {\n const fd = await request.formData();\n return {\n email: String(fd.get(\"email\") ?? \"\"),\n password: String(fd.get(\"password\") ?? \"\"),\n };\n }\n\n if (contentType.includes(\"application/x-www-form-urlencoded\")) {\n const text = await request.text();\n const params = new URLSearchParams(text);\n return {\n email: params.get(\"email\") ?? \"\",\n password: params.get(\"password\") ?? \"\",\n };\n }\n\n const text = await request.text();\n if (!text.trim()) return {};\n\n try {\n const parsed = JSON.parse(text) as { email?: unknown; password?: unknown };\n return {\n email: parsed.email != null ? String(parsed.email) : \"\",\n password: parsed.password != null ? String(parsed.password) : \"\",\n };\n } catch {\n const params = new URLSearchParams(text);\n if (params.has(\"email\") || params.has(\"password\")) {\n return {\n email: params.get(\"email\") ?? \"\",\n password: params.get(\"password\") ?? \"\",\n };\n }\n return {};\n }\n}\n\nfunction registerOkBody(\n fields: { email: string; password: string },\n nested = false,\n) {\n const payload = {\n id: 4,\n token: \"docs-mock-register-token\",\n email: fields.email,\n };\n return nested ? { data: payload } : payload;\n}\n\nfunction geoCommunes(url: URL): GeoCommuneRow[] {\n const limit = Math.max(\n 1,\n parseInt(url.searchParams.get(\"limit\") || \"5\", 10),\n );\n const offset = Math.max(0, parseInt(url.searchParams.get(\"offset\") || \"0\", 10));\n return DOCS_GEO_COMMUNES.slice(offset, offset + limit);\n}\n\n/**\n * Intercepte les requ\u00EAtes vers /docs-mock-api/* (Service Worker ou middleware Vite).\n */\nexport async function handleDocsMockApiRequest(\n request: Request,\n): Promise<Response | null> {\n const url = new URL(request.url);\n if (!url.pathname.startsWith(DOCS_MOCK_API_PREFIX)) return null;\n\n const subPath = url.pathname.slice(DOCS_MOCK_API_PREFIX.length) || \"/\";\n const method = request.method.toUpperCase();\n\n if (subPath === \"/health\") {\n return json({ ok: true, service: \"concorde-docs-mock-api\" });\n }\n\n const apiConfigResponse = handleApiConfigMockRequest(request, subPath, method);\n if (apiConfigResponse) return apiConfigResponse;\n\n if (\n (subPath === \"/api/register\" || subPath === \"/api/register/nested\") &&\n method === \"POST\"\n ) {\n const body = await parseRegisterFields(request);\n if (!body.email?.trim() || !body.password?.trim()) {\n return json(\n {\n messages: [\n {\n content: \"email and password are required\",\n status: \"error\",\n },\n ],\n },\n { status: 400 },\n );\n }\n return json(\n registerOkBody(\n { email: body.email!.trim(), password: body.password!.trim() },\n subPath === \"/api/register/nested\",\n ),\n );\n }\n\n const sessionSyncMatch = subPath.match(/^\\/api\\/sessions\\/([^/]+)\\/sync$/);\n if (sessionSyncMatch && method === \"POST\") {\n const sessionId = decodeURIComponent(sessionSyncMatch[1]);\n let body: Record<string, unknown> = {};\n try {\n const text = await request.text();\n if (text.trim()) {\n body = JSON.parse(text) as Record<string, unknown>;\n }\n } catch {\n body = {};\n }\n return json({\n ok: true,\n sessionId,\n serverTime: Date.now(),\n echo: body,\n });\n }\n\n if (subPath === \"/api/register/echo\" && method === \"GET\") {\n const email = url.searchParams.get(\"email\") ?? \"\";\n const password = url.searchParams.get(\"password\") ?? \"\";\n if (!email.trim() || !password.trim()) {\n return json(\n {\n messages: [\n {\n content: \"email and password query params are required\",\n status: \"error\",\n },\n ],\n },\n { status: 400 },\n );\n }\n return json({\n method: \"GET\",\n query: { email, password },\n email,\n note: \"sonic-submit method=\\\"get\\\" appends form fields to the endpoint URL\",\n });\n }\n\n if (method !== \"GET\") {\n return json({ error: \"Method not allowed\" }, { status: 405 });\n }\n\n const userMatch = subPath.match(/^\\/api\\/users\\/(\\d+)$/);\n if (userMatch) {\n const id = parseInt(userMatch[1], 10);\n const user =\n DOCS_REQRES_USERS.find((u) => u.id === id) ?? DOCS_REQRES_USERS[0];\n const body: ReqresUserResponse = { data: { ...user, id } };\n return json(body);\n }\n\n if (subPath === \"/api/users\") {\n return json(paginateUsers(url));\n }\n\n if (subPath === \"/geo/communes\" || subPath.startsWith(\"/geo/communes\")) {\n return json(geoCommunes(url), {\n headers: { \"X-Fetched-At\": new Date().toISOString() },\n });\n }\n\n const jokeMatch = subPath.match(/^\\/jokes\\/joke\\/([^/]+)$/);\n if (jokeMatch) {\n return json(buildJokeApiResponse(url));\n }\n\n return json({ error: \"Not found\", path: subPath }, { status: 404 });\n}\n", "/// <reference lib=\"webworker\" />\nimport { handleDocsMockApiRequest} from \"./router\";\n\ndeclare const self: ServiceWorkerGlobalScope;\n\nself.addEventListener(\"install\", (event) => {\n event.waitUntil(self.skipWaiting());\n});\n\nself.addEventListener(\"activate\", (event) => {\n event.waitUntil(self.clients.claim());\n});\n\nself.addEventListener(\"fetch\", (event) => {\n const {request} = event;\n event.respondWith(\n (async () => {\n const mocked = await handleDocsMockApiRequest(request);\n if (mocked) return mocked;\n return fetch(request);\n })(),\n );\n});\n"],
5
+ "mappings": "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",
6
6
  "names": ["json", "text"]
7
7
  }
@@ -139,18 +139,24 @@ export function get(endpoint, configurationKeyOrOptions, maybeOptions) {
139
139
  skipEmptyPlaceholder: options?.skipEmptyPlaceholder,
140
140
  };
141
141
  const configurationKeyPath = configurationKey?.path;
142
+ const triggerKeyPath = options?.triggerKey?.path;
142
143
  const endpointDynamicDependencies = extractDynamicDependencies(pathTemplate);
143
144
  const configKeyDynamicDependencies = configurationKeyPath
144
145
  ? extractDynamicDependencies(configurationKeyPath)
145
146
  : [];
147
+ const triggerKeyDynamicDependencies = triggerKeyPath
148
+ ? extractDynamicDependencies(triggerKeyPath)
149
+ : [];
146
150
  const mergedDynamicDependencies = [
147
151
  ...new Set([
148
152
  ...endpointDynamicDependencies,
149
153
  ...configKeyDynamicDependencies,
154
+ ...triggerKeyDynamicDependencies,
150
155
  ]),
151
156
  ];
152
157
  const isDynamicPath = endpointDynamicDependencies.length > 0;
153
158
  const usesPublisherConfig = Boolean(configurationKeyPath);
159
+ const refetchEveryMs = options?.refetchEveryMs ?? 0;
154
160
  return function (target, propertyKey) {
155
161
  if (!target)
156
162
  return;
@@ -166,18 +172,34 @@ export function get(endpoint, configurationKeyOrOptions, maybeOptions) {
166
172
  configPublisher: null,
167
173
  configMutationHandler: null,
168
174
  scopeWatchCleanup: null,
175
+ triggerPublisher: null,
176
+ triggerInvalidateHandler: null,
177
+ refetchTimeoutId: null,
178
+ refetchEveryMs,
169
179
  };
170
180
  comp[stateKey] = state;
171
181
  }
172
182
  state.cleanupWatchers.forEach((cleanup) => cleanup());
173
183
  state.cleanupWatchers = [];
174
184
  state.requestGeneration++;
185
+ state.refetchEveryMs = refetchEveryMs;
186
+ clearRefetch(state);
187
+ const scheduleRefetch = () => {
188
+ clearRefetch(state);
189
+ if (!state.refetchEveryMs || state.refetchEveryMs <= 0)
190
+ return;
191
+ state.refetchTimeoutId = setTimeout(() => {
192
+ state.refetchTimeoutId = null;
193
+ runFetch();
194
+ }, state.refetchEveryMs);
195
+ };
175
196
  const runFetch = () => {
176
197
  const resolution = isDynamicPath
177
198
  ? resolveDynamicPath(component, pathTemplate, pathOptions)
178
199
  : { ready: true, path: pathTemplate };
179
200
  if (!resolution.ready || !resolution.path) {
180
201
  comp[propertyKey] = undefined;
202
+ scheduleRefetch();
181
203
  return;
182
204
  }
183
205
  let config = null;
@@ -185,6 +207,7 @@ export function get(endpoint, configurationKeyOrOptions, maybeOptions) {
185
207
  const configRes = resolveDynamicPath(component, configurationKeyPath, pathOptions);
186
208
  if (!configRes.ready || !configRes.path) {
187
209
  comp[propertyKey] = undefined;
210
+ scheduleRefetch();
188
211
  return;
189
212
  }
190
213
  const configPublisher = getPublisherFromPath(configRes.path);
@@ -202,6 +225,7 @@ export function get(endpoint, configurationKeyOrOptions, maybeOptions) {
202
225
  state.scopeWatchCleanup = null;
203
226
  });
204
227
  }
228
+ scheduleRefetch();
205
229
  return;
206
230
  }
207
231
  const generation = ++state.requestGeneration;
@@ -212,8 +236,26 @@ export function get(endpoint, configurationKeyOrOptions, maybeOptions) {
212
236
  if (generation !== state.requestGeneration)
213
237
  return;
214
238
  comp[propertyKey] = payload;
239
+ scheduleRefetch();
215
240
  });
216
241
  };
242
+ const scheduleFetch = createAnimationFrameCoalescedRunner(runFetch);
243
+ const rebindTriggerPublisher = () => {
244
+ detachTriggerPublisher(state);
245
+ if (!triggerKeyPath)
246
+ return;
247
+ const triggerResolution = resolveDynamicPath(component, triggerKeyPath, pathOptions);
248
+ if (!triggerResolution.ready || !triggerResolution.path) {
249
+ return;
250
+ }
251
+ const publisher = getPublisherFromPath(triggerResolution.path);
252
+ if (!publisher)
253
+ return;
254
+ const invalidateHandler = () => scheduleFetch();
255
+ publisher.onInvalidate(invalidateHandler);
256
+ state.triggerPublisher = publisher;
257
+ state.triggerInvalidateHandler = invalidateHandler;
258
+ };
217
259
  const rebindPublisherConfig = () => {
218
260
  if (!usesPublisherConfig || !configurationKeyPath)
219
261
  return;
@@ -228,28 +270,34 @@ export function get(endpoint, configurationKeyOrOptions, maybeOptions) {
228
270
  comp[propertyKey] = undefined;
229
271
  return;
230
272
  }
231
- const mutationHandler = () => {
232
- runFetch();
233
- };
273
+ const mutationHandler = () => scheduleFetch();
234
274
  publisher.onInternalMutation(mutationHandler);
235
275
  state.configPublisher = publisher;
236
276
  state.configMutationHandler = mutationHandler;
237
277
  };
238
- if (usesPublisherConfig) {
278
+ const rebindAll = () => {
279
+ rebindTriggerPublisher();
280
+ rebindPublisherConfig();
281
+ if (!usesPublisherConfig) {
282
+ scheduleFetch();
283
+ }
284
+ };
285
+ if (usesPublisherConfig || triggerKeyDynamicDependencies.length) {
239
286
  for (const dependency of mergedDynamicDependencies) {
240
- const unsubscribe = observeDynamicProperty(getDynamicWatchKeys.watcherStore, getDynamicWatchKeys.hooked, component, dependency, () => rebindPublisherConfig());
287
+ const unsubscribe = observeDynamicProperty(getDynamicWatchKeys.watcherStore, getDynamicWatchKeys.hooked, component, dependency, () => rebindAll());
241
288
  state.cleanupWatchers.push(unsubscribe);
242
289
  }
243
- rebindPublisherConfig();
290
+ rebindAll();
244
291
  }
245
292
  else {
246
293
  const startScopedFetch = () => {
247
294
  if (isDynamicPath) {
248
295
  for (const dependency of endpointDynamicDependencies) {
249
- const unsubscribe = observeDynamicProperty(getDynamicWatchKeys.watcherStore, getDynamicWatchKeys.hooked, component, dependency, () => runFetch());
296
+ const unsubscribe = observeDynamicProperty(getDynamicWatchKeys.watcherStore, getDynamicWatchKeys.hooked, component, dependency, () => scheduleFetch());
250
297
  state.cleanupWatchers.push(unsubscribe);
251
298
  }
252
299
  }
300
+ rebindTriggerPublisher();
253
301
  runFetch();
254
302
  };
255
303
  state.cleanupWatchers.push(scheduleAfterHostReady(component, startScopedFetch));
@@ -261,6 +309,8 @@ export function get(endpoint, configurationKeyOrOptions, maybeOptions) {
261
309
  if (!state)
262
310
  return;
263
311
  detachConfigPublisher(state);
312
+ detachTriggerPublisher(state);
313
+ clearRefetch(state);
264
314
  state.cleanupWatchers.forEach((cleanup) => cleanup());
265
315
  state.cleanupWatchers = [];
266
316
  state.requestGeneration++;
@@ -271,7 +321,9 @@ export function get(endpoint, configurationKeyOrOptions, maybeOptions) {
271
321
  function isGetOptions(value) {
272
322
  if (!value || typeof value !== "object")
273
323
  return false;
274
- return "skipEmptyPlaceholder" in value;
324
+ return ("skipEmptyPlaceholder" in value ||
325
+ "refetchEveryMs" in value ||
326
+ "triggerKey" in value);
275
327
  }
276
328
  function isApiSendOptions(value) {
277
329
  if (!value || typeof value !== "object")
@@ -296,7 +348,7 @@ function detachTriggerPublisher(state) {
296
348
  state.triggerPublisher = null;
297
349
  state.triggerInvalidateHandler = null;
298
350
  }
299
- function clearSendRefetch(state) {
351
+ function clearRefetch(state) {
300
352
  if (state.refetchTimeoutId) {
301
353
  clearTimeout(state.refetchTimeoutId);
302
354
  state.refetchTimeoutId = null;
@@ -376,9 +428,9 @@ function createApiSendDecorator(method, callDetailed) {
376
428
  state.refetchEveryMs = refetchEveryMs;
377
429
  state.skipIfBodyMissing = skipIfBodyMissing;
378
430
  state.autoPostOnBodyMutation = autoPostOnBodyMutation;
379
- clearSendRefetch(state);
431
+ clearRefetch(state);
380
432
  const scheduleRefetch = () => {
381
- clearSendRefetch(state);
433
+ clearRefetch(state);
382
434
  if (!state.refetchEveryMs || state.refetchEveryMs <= 0)
383
435
  return;
384
436
  state.refetchTimeoutId = setTimeout(() => {
@@ -538,7 +590,7 @@ function createApiSendDecorator(method, callDetailed) {
538
590
  detachConfigPublisher(state);
539
591
  detachBodyPublisher(state);
540
592
  detachTriggerPublisher(state);
541
- clearSendRefetch(state);
593
+ clearRefetch(state);
542
594
  state.cleanupWatchers.forEach((cleanup) => cleanup());
543
595
  state.cleanupWatchers = [];
544
596
  state.requestGeneration++;
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../../src/core/decorators/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../../src/core/decorators/api.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,9 @@ import { type DynamicPathOptions } from "./subscriber/dynamicPath";
15
15
  * `PublisherManager` sur le chemin résolu (même syntaxe dynamique que `@subscribe`).
16
16
  * Toute mutation interne du publisher (`onInternalMutation`) relance le GET.
17
17
  *
18
+ * **Options** (`GetOptions`) : `triggerKey` — `PublisherManager.get(...).invalidate()` relance le GET ;
19
+ * `refetchEveryMs` — polling automatique.
20
+ *
18
21
  * @example
19
22
  * @get(new Endpoint<User, { userId: string }>("users/${userId}"))
20
23
  * payload?: ApiResult<User>;
@@ -24,6 +27,11 @@ import { type DynamicPathOptions } from "./subscriber/dynamicPath";
24
27
  * PublisherManager.get("myApiConf").set({ serviceURL: "...", token: null, ... });
25
28
  * @get(new Endpoint<Thing, { id: string }>("things/${id}"), apiConf)
26
29
  * payload?: ApiResult<Thing>;
30
+ *
31
+ * @example
32
+ * @get(usersEndpoint, { triggerKey: refreshUsersKey })
33
+ * payload?: ApiResult<User[]>;
34
+ * // PublisherManager.get("users.refresh").invalidate() → refetch
27
35
  */
28
36
  export declare function get<T, Ue = any>(endpoint: Endpoint<T, Ue>): <K extends string>(target: DataProviderKeyHost<Ue> & {
29
37
  [P in K]?: ApiResult<T> | null | undefined;
@@ -37,7 +45,12 @@ export declare function get<T, Ue = any, Uk = any>(endpoint: Endpoint<T, Ue>, op
37
45
  export declare function get<T, Ue = any, Uk = any, Ut = any>(endpoint: Endpoint<T, Ue>, configurationKey: DataProviderKey<APIConfiguration, Uk>, options: GetOptions): <K extends string>(target: DataProviderKeyHost<Ue> & DataProviderKeyHost<Uk> & {
38
46
  [P in K]?: ApiResult<T> | null | undefined;
39
47
  }, propertyKey: K) => void;
40
- export type GetOptions = DynamicPathOptions;
48
+ export type GetOptions<Uk = any> = DynamicPathOptions & {
49
+ /** Intervalle de refetch automatique (ms). 0 ou absent = pas de polling. */
50
+ refetchEveryMs?: number;
51
+ /** Publisher dont `invalidate()` relance le GET. */
52
+ triggerKey?: DataProviderKey<unknown, Uk>;
53
+ };
41
54
  export type ApiSendOptions<Uk = any> = DynamicPathOptions & {
42
55
  /** Intervalle de renvoi automatique (ms). 0 ou absent = pas de polling. */
43
56
  refetchEveryMs?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../../src/core/decorators/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../../src/core/decorators/api.ts"],"names":[],"mappings":"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"}