@rpcbase/client 0.438.0 → 0.440.0

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.
Files changed (88) hide show
  1. package/dist/{getServerApiClient-BzqOKL0g.js → getServerApiClient-DnG8591C.js} +16 -2
  2. package/dist/getServerApiClient-DnG8591C.js.map +1 -0
  3. package/dist/index.js +10 -2
  4. package/dist/index.js.map +1 -1
  5. package/package.json +1 -1
  6. package/dist/RootProvider/index.d.ts +0 -9
  7. package/dist/RootProvider/index.d.ts.map +0 -1
  8. package/dist/apiClient/getServerApiClient.d.ts +0 -10
  9. package/dist/apiClient/getServerApiClient.d.ts.map +0 -1
  10. package/dist/apiClient/index.d.ts +0 -19
  11. package/dist/apiClient/index.d.ts.map +0 -1
  12. package/dist/cleanupURL.d.ts +0 -2
  13. package/dist/cleanupURL.d.ts.map +0 -1
  14. package/dist/components/RouteErrorBoundary.d.ts +0 -9
  15. package/dist/components/RouteErrorBoundary.d.ts.map +0 -1
  16. package/dist/components/SsrErrorFallback.d.ts +0 -10
  17. package/dist/components/SsrErrorFallback.d.ts.map +0 -1
  18. package/dist/errorReporting.d.ts +0 -8
  19. package/dist/errorReporting.d.ts.map +0 -1
  20. package/dist/getFeatureFlag.d.ts +0 -2
  21. package/dist/getFeatureFlag.d.ts.map +0 -1
  22. package/dist/getServerApiClient-BzqOKL0g.js.map +0 -1
  23. package/dist/hooks/index.d.ts +0 -3
  24. package/dist/hooks/index.d.ts.map +0 -1
  25. package/dist/hooks/useMediaQuery.d.ts +0 -2
  26. package/dist/hooks/useMediaQuery.d.ts.map +0 -1
  27. package/dist/hooks/useThrottledMeasure.d.ts +0 -13
  28. package/dist/hooks/useThrottledMeasure.d.ts.map +0 -1
  29. package/dist/index.d.ts +0 -15
  30. package/dist/index.d.ts.map +0 -1
  31. package/dist/initWithRoutes.d.ts +0 -11
  32. package/dist/initWithRoutes.d.ts.map +0 -1
  33. package/dist/instrument.d.ts +0 -4
  34. package/dist/instrument.d.ts.map +0 -1
  35. package/dist/isDesktopDevice.d.ts +0 -2
  36. package/dist/isDesktopDevice.d.ts.map +0 -1
  37. package/dist/isPlaywrightTestEnvironment.d.ts +0 -2
  38. package/dist/isPlaywrightTestEnvironment.d.ts.map +0 -1
  39. package/dist/navigationGuard/installGlobalNavigationGuard.d.ts +0 -3
  40. package/dist/navigationGuard/installGlobalNavigationGuard.d.ts.map +0 -1
  41. package/dist/notifications.d.ts +0 -68
  42. package/dist/notifications.d.ts.map +0 -1
  43. package/dist/notificationsRealtime.d.ts +0 -19
  44. package/dist/notificationsRealtime.d.ts.map +0 -1
  45. package/dist/rts/index.d.ts +0 -8
  46. package/dist/rts/index.d.ts.map +0 -1
  47. package/dist/rts/modelTypes.d.ts +0 -5
  48. package/dist/rts/modelTypes.d.ts.map +0 -1
  49. package/dist/rts/populateCache.d.ts +0 -21
  50. package/dist/rts/populateCache.d.ts.map +0 -1
  51. package/dist/rts/pouchStore.d.ts +0 -66
  52. package/dist/rts/pouchStore.d.ts.map +0 -1
  53. package/dist/rts/queryKey.d.ts +0 -13
  54. package/dist/rts/queryKey.d.ts.map +0 -1
  55. package/dist/rts/runtimeStorage.d.ts +0 -9
  56. package/dist/rts/runtimeStorage.d.ts.map +0 -1
  57. package/dist/rts/ssrHydration.d.ts +0 -62
  58. package/dist/rts/ssrHydration.d.ts.map +0 -1
  59. package/dist/rts/useCountQuery.d.ts +0 -18
  60. package/dist/rts/useCountQuery.d.ts.map +0 -1
  61. package/dist/rts/useQuery.d.ts +0 -24
  62. package/dist/rts/useQuery.d.ts.map +0 -1
  63. package/dist/rts/useRtsConnection.d.ts +0 -3
  64. package/dist/rts/useRtsConnection.d.ts.map +0 -1
  65. package/dist/rts/wsClient.d.ts +0 -116
  66. package/dist/rts/wsClient.d.ts.map +0 -1
  67. package/dist/spatial-nav/SpatialNavigation.d.ts +0 -310
  68. package/dist/spatial-nav/SpatialNavigation.d.ts.map +0 -1
  69. package/dist/spatial-nav/VisualDebugger.d.ts +0 -34
  70. package/dist/spatial-nav/VisualDebugger.d.ts.map +0 -1
  71. package/dist/spatial-nav/WritingDirection.d.ts +0 -6
  72. package/dist/spatial-nav/WritingDirection.d.ts.map +0 -1
  73. package/dist/spatial-nav/index.d.ts +0 -4
  74. package/dist/spatial-nav/index.d.ts.map +0 -1
  75. package/dist/spatial-nav/measureLayout.d.ts +0 -22
  76. package/dist/spatial-nav/measureLayout.d.ts.map +0 -1
  77. package/dist/spatial-nav/useFocusContext.d.ts +0 -4
  78. package/dist/spatial-nav/useFocusContext.d.ts.map +0 -1
  79. package/dist/spatial-nav/useFocusable.d.ts +0 -35
  80. package/dist/spatial-nav/useFocusable.d.ts.map +0 -1
  81. package/dist/ssrErrorState.d.ts +0 -11
  82. package/dist/ssrErrorState.d.ts.map +0 -1
  83. package/dist/toast.d.ts +0 -5
  84. package/dist/toast.d.ts.map +0 -1
  85. package/dist/types.d.ts +0 -8
  86. package/dist/types.d.ts.map +0 -1
  87. package/dist/utils/useApplyScroll.d.ts +0 -2
  88. package/dist/utils/useApplyScroll.d.ts.map +0 -1
@@ -1,4 +1,13 @@
1
1
  const getServerApiClient = async (app) => {
2
+ const isCtx = (value) => {
3
+ if (!value || typeof value !== "object") return false;
4
+ return "req" in value && "res" in value;
5
+ };
6
+ const createAbortError = () => {
7
+ const error = new Error("The operation was aborted.");
8
+ error.name = "AbortError";
9
+ return error;
10
+ };
2
11
  const callRoute = async (app2, method, matchPath, requestUrl, req, res) => {
3
12
  return new Promise((resolve, reject) => {
4
13
  let isEnded = false;
@@ -135,10 +144,15 @@ const getServerApiClient = async (app) => {
135
144
  };
136
145
  };
137
146
  const createMethod = (method) => {
138
- return async (path, payload, ctx) => {
147
+ return async (path, payload, ctxOrOptions, options) => {
148
+ const ctx = isCtx(ctxOrOptions) ? ctxOrOptions : void 0;
149
+ const requestOptions = isCtx(ctxOrOptions) ? options : ctxOrOptions;
139
150
  if (!ctx) {
140
151
  throw new Error("Context must be provided in SSR mode");
141
152
  }
153
+ if (requestOptions?.signal?.aborted) {
154
+ throw createAbortError();
155
+ }
142
156
  const normalizedMethod = method.toLowerCase();
143
157
  if (normalizedMethod === "get") {
144
158
  const {
@@ -175,4 +189,4 @@ const getServerApiClient = async (app) => {
175
189
  export {
176
190
  getServerApiClient
177
191
  };
178
- //# sourceMappingURL=getServerApiClient-BzqOKL0g.js.map
192
+ //# sourceMappingURL=getServerApiClient-DnG8591C.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getServerApiClient-DnG8591C.js","sources":["../src/apiClient/getServerApiClient.ts"],"sourcesContent":["import { Application, IRouter, Request, Response } from \"express\"\nimport type { Ctx } from \"@rpcbase/api\"\n\n\ntype NextMiddleware = (err?: unknown) => void\ntype LayerHandler = (req: Request, res: Response, next: NextMiddleware) => void\ntype ApiClientRequestOptions = {\n signal?: AbortSignal\n}\n\ntype RouterLayer = {\n name: string\n match: (path: string) => boolean\n handle: LayerHandler\n route?: {\n methods: Record<string, boolean | undefined>\n path: string\n stack: Array<{ handle: LayerHandler }>\n }\n}\n\n\nexport const getServerApiClient = async(app: Application) => {\n const isCtx = (value: unknown): value is Ctx => {\n if (!value || typeof value !== \"object\") return false\n return \"req\" in value && \"res\" in value\n }\n\n const createAbortError = () => {\n const error = new Error(\"The operation was aborted.\")\n error.name = \"AbortError\"\n return error\n }\n\n const callRoute = async <TResponse = Record<string, unknown>>(\n app: Application,\n method: string,\n matchPath: string,\n requestUrl: string,\n req: Partial<Request>,\n res: Partial<Response>\n ): Promise<TResponse> => {\n return new Promise((resolve, reject) => {\n let isEnded = false\n let timeoutId: ReturnType<typeof setTimeout> | null = null\n\n const resolveRequest = (data: TResponse) => {\n if (isEnded) return\n isEnded = true\n if (timeoutId) clearTimeout(timeoutId)\n resolve(data)\n }\n\n const rejectRequest = (error: unknown) => {\n if (isEnded) return\n isEnded = true\n if (timeoutId) clearTimeout(timeoutId)\n reject(error)\n }\n\n const mockReq = {\n ...req,\n method: method.toUpperCase(),\n url: requestUrl\n } as Request\n\n const mockRes = {\n ...res,\n json: (data: unknown) => {\n resolveRequest(data as TResponse)\n },\n status: (statusCode: number) => {\n console.log(\"Status:\", statusCode, mockReq.method, mockReq.url)\n return mockRes\n },\n } as Response\n\n const routerStack = (app.router as unknown as IRouter).stack as unknown as RouterLayer[]\n\n const firstApiMiddlewareIndex = routerStack.findIndex((layer) => layer.name === \"__FIRST_API_MIDDLEWARE__\")\n if (!(firstApiMiddlewareIndex > -1)) {\n throw new Error(\"middleware: __FIRST_API_MIDDLEWARE__ was not found in stack\")\n }\n\n const apiStack = routerStack.slice(firstApiMiddlewareIndex + 1)\n\n const processLayer = async (index: number) => {\n if (index >= apiStack.length || isEnded) return\n\n const layer = apiStack[index]\n\n const isNonMatchingLayer = !layer.match(matchPath)\n if (isNonMatchingLayer) {\n // console.log(\"not machthing route:\", matchPath, \"to layer:\", index, layer.name, layer, \"reason: \", {isNonMatchingLayer})\n await processLayer(index + 1)\n return\n }\n\n const runHandler = async(handler: LayerHandler) => new Promise<void>((resolveMiddleware, rejectMiddleware) => {\n handler(mockReq, mockRes, (err?: unknown) => {\n if (err) {\n console.error(\"Middleware error:\", err)\n rejectMiddleware(err)\n return\n }\n resolveMiddleware()\n })\n })\n\n if (layer.route) {\n if (!layer.route.methods[method.toLowerCase()]) {\n // console.log(\"not machthing route:\", matchPath, \"to route layer:\", index, layer.name, layer, \"reason: method not matching\")\n await processLayer(index + 1)\n return\n }\n\n if (layer.route.stack.length !== 1) {\n throw new Error(`expected only one handler per route for route: ${layer.route.path}`)\n }\n\n await runHandler(layer.route.stack[0].handle)\n\n } else {\n await runHandler(layer.handle)\n }\n\n if (!isEnded) {\n await processLayer(index + 1)\n }\n }\n\n void processLayer(0).catch((err) => {\n rejectRequest(err)\n })\n\n // Set a timeout to prevent hanging\n timeoutId = setTimeout(() => {\n rejectRequest(new Error(\"Route handler timed out\"))\n }, 30000)\n })\n }\n\n const mergeQueryValues = (target: Record<string, string | string[]>, key: string, value: string) => {\n const existing = target[key]\n if (Array.isArray(existing)) {\n existing.push(value)\n return\n }\n\n if (typeof existing === \"string\") {\n target[key] = [existing, value]\n return\n }\n\n target[key] = value\n }\n\n const toQueryValue = (value: unknown): string | null => {\n if (typeof value === \"string\") return value\n if (typeof value === \"number\") return Number.isFinite(value) ? String(value) : null\n if (typeof value === \"boolean\") return value ? \"true\" : \"false\"\n if (typeof value === \"bigint\") return String(value)\n if (value instanceof Date) return value.toISOString()\n return null\n }\n\n const buildQuery = (path: string, payload: Record<string, unknown>) => {\n const url = new URL(path, \"http://localhost\")\n\n const query: Record<string, string | string[]> = {}\n for (const [key, value] of url.searchParams) {\n mergeQueryValues(query, key, value)\n }\n\n for (const [key, rawValue] of Object.entries(payload)) {\n if (!key) continue\n\n if (Array.isArray(rawValue)) {\n for (const item of rawValue) {\n const converted = toQueryValue(item)\n if (converted !== null) mergeQueryValues(query, key, converted)\n }\n continue\n }\n\n const converted = toQueryValue(rawValue)\n if (converted !== null) mergeQueryValues(query, key, converted)\n }\n\n const searchParams = new URLSearchParams()\n for (const [key, rawValue] of Object.entries(query)) {\n if (Array.isArray(rawValue)) {\n for (const value of rawValue) {\n searchParams.append(key, value)\n }\n continue\n }\n\n searchParams.append(key, rawValue)\n }\n\n const matchPath = url.pathname\n const requestUrl = `${matchPath}${searchParams.toString() ? `?${searchParams.toString()}` : \"\"}`\n\n return { matchPath, requestUrl, query }\n }\n\n const createMethod = (method: string) => {\n return async <TResponse = Record<string, unknown>>(\n path: string,\n payload: Record<string, unknown>,\n ctxOrOptions?: Ctx | ApiClientRequestOptions,\n options?: ApiClientRequestOptions,\n ): Promise<TResponse> => {\n const ctx = isCtx(ctxOrOptions) ? ctxOrOptions : undefined\n const requestOptions = isCtx(ctxOrOptions) ? options : ctxOrOptions\n if (!ctx) {\n throw new Error(\"Context must be provided in SSR mode\")\n }\n if (requestOptions?.signal?.aborted) {\n throw createAbortError()\n }\n\n const normalizedMethod = method.toLowerCase()\n\n if (normalizedMethod === \"get\") {\n const { matchPath, requestUrl, query } = buildQuery(path, payload)\n return callRoute<TResponse>(app, method, matchPath, requestUrl, { ...ctx.req, body: {}, query }, ctx.res)\n }\n\n const { matchPath, requestUrl, query } = buildQuery(path, {})\n return callRoute<TResponse>(app, method, matchPath, requestUrl, { ...ctx.req, body: payload, query }, ctx.res)\n }\n }\n\n const apiClient = {\n get: createMethod(\"get\"),\n post: createMethod(\"post\"),\n put: createMethod(\"put\"),\n delete: createMethod(\"delete\")\n }\n\n return apiClient\n}\n\nexport default getServerApiClient\n"],"names":["getServerApiClient","app","isCtx","value","createAbortError","error","Error","name","callRoute","method","matchPath","requestUrl","req","res","Promise","resolve","reject","isEnded","timeoutId","resolveRequest","data","rejectRequest","mockReq","toUpperCase","url","mockRes","json","status","statusCode","console","log","routerStack","router","stack","firstApiMiddlewareIndex","findIndex","layer","apiStack","slice","processLayer","index","length","isNonMatchingLayer","match","runHandler","handler","resolveMiddleware","rejectMiddleware","err","route","methods","toLowerCase","path","handle","catch","setTimeout","mergeQueryValues","target","key","existing","Array","isArray","push","toQueryValue","Number","isFinite","String","Date","toISOString","buildQuery","payload","URL","query","searchParams","rawValue","Object","entries","item","converted","URLSearchParams","append","pathname","toString","createMethod","ctxOrOptions","options","ctx","undefined","requestOptions","signal","aborted","normalizedMethod","body","apiClient","get","post","put","delete"],"mappings":"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"}
package/dist/index.js CHANGED
@@ -434,6 +434,10 @@ function _temp8() {
434
434
  };
435
435
  }
436
436
  let apiClient;
437
+ const isApiClientRequestOptions = (value) => {
438
+ if (!value || typeof value !== "object") return false;
439
+ return "signal" in value;
440
+ };
437
441
  const initApiClient = async (args) => {
438
442
  if (env.SSR) {
439
443
  if (!args) {
@@ -441,7 +445,7 @@ const initApiClient = async (args) => {
441
445
  }
442
446
  const {
443
447
  getServerApiClient
444
- } = await import("./getServerApiClient-BzqOKL0g.js");
448
+ } = await import("./getServerApiClient-DnG8591C.js");
445
449
  apiClient = await getServerApiClient(args.app);
446
450
  } else {
447
451
  const axios = (await import("axios/dist/browser/axios.cjs")).default;
@@ -453,7 +457,8 @@ const initApiClient = async (args) => {
453
457
  }
454
458
  });
455
459
  const createMethod = (method) => {
456
- return async (path, payload, _ctx) => {
460
+ return async (path, payload, ctxOrOptions, options) => {
461
+ const requestOptions = isApiClientRequestOptions(ctxOrOptions) ? ctxOrOptions : options;
457
462
  const config = {
458
463
  method,
459
464
  url: path,
@@ -462,6 +467,9 @@ const initApiClient = async (args) => {
462
467
  } : {
463
468
  data: payload
464
469
  },
470
+ ...requestOptions?.signal ? {
471
+ signal: requestOptions.signal
472
+ } : {},
465
473
  headers: {
466
474
  // ...(typeof ctxOrPath !== 'string' && {
467
475
  // // 'X-Custom-Header': ctxOrPath.someHeaderValue,